我有两个textFormField小部件。用户完成第一个文本字段后,我想重点关注下一个textField。Flutter有办法做到这一点吗?当前,“完成”按钮仅关闭键盘。我猜想这个focusNode类可能是答案,但是我不确定是否有人会提供focusNode类的好例子吗?提前致谢。
textFormField
textField
focusNode
是的,FocusNode 和onFieldSubmitted来自TextFormField的方法可能是可行的。
onFieldSubmitted
FocusScope.of(context).requestFocus(focusNode);
这是一个示例,可能会有所帮助:
FocusNode textSecondFocusNode = new FocusNode(); TextFormField textFirst = new TextFormField( onFieldSubmitted: (String value) { FocusScope.of(context).requestFocus(textSecondFocusNode); }, ); TextFormField textSecond = new TextFormField( focusNode: textSecondFocusNode, ); // render textFirst and textSecond where you want
您可能还希望FocusScope.of()从按钮而不是onFieldSubmitted 触发,但是希望上面的示例为您提供足够的上下文,以为您的用例构建适当的解决方案。
FocusScope.of()