flutter - 如何在颤动中将焦点转移到另一个文本表单字段
问题描述
我为两个不同的页面电子邮件和密码使用了两个 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,
),
//两个文件不同。
解决方案
您是否尝试过直接从相关焦点节点请求焦点?
return TextField(
focusNode: myFocusNode,
);
//to make focus go to the TextField try call this.
_changeFocus(){
myFocusNode.requestFocus();
}
推荐阅读
- javascript - 查找由机器人创建的嵌入 (discord.js)
- typescript - 如何推断正确的类型
- python-3.x - 理解 Python 中的浅拷贝
- android - 无法使用 Hilt 创建 MainViewModel 的实例
- python - 键盘中断异常
- java - 我应该在哪个层、Dao 或服务中解析 Rest 客户端响应?
- javascript - 带有库方法的代码流。输出不如预期
- python - 使用 _meta 获取每个模型字段的值
- laravel - Laravel 对多个语言有相同的文件夹吗?
- sql - Teradata - 不能嵌套聚合操作 min(avg)