首页 > 解决方案 > 如何在颤动中将焦点转移到另一个文本表单字段

问题描述

我为两个不同的页面电子邮件和密码使用了两个 texFormField 现在我想使用 FocusNode 中的回调函数将焦点从电子邮件转移到密码。

我尝试了 FocusScope.of(context).requestFocus(nextFocusNode),但它不起作用。

//email.dart (This page containe only email textfield)
    TextFormField(
            textInputAction: TextInputAction.next,
            focusNode: emailNode,
            onFieldSubmitted: (emailNode) {
              setState(() {
                FocusScop.of(context).requestFocus(passwordNode);
              });
            },
            controller: _email.text,
          ),

//password.dart(This page contain onlt password)
    TextFormField(
            textInputAction: TextInputAction.next,
            focusNode: passwordNode,
            onFieldSubmitted: (passwordNode) {
              setState(() {
                FocusScop.of(context).requestFocus(passwordNode);
              });
            },
            controller: _email.text,
          ),

//两个文件不同。

标签: flutterdart

解决方案


您是否尝试过直接从相关焦点节点请求焦点?

return TextField(
      focusNode: myFocusNode,
);

//to make focus go to the TextField try call this.
_changeFocus(){
 myFocusNode.requestFocus();
}

推荐阅读