TextField获得焦点意味着有一个TextField被激活并且任何来自键盘的输入都会被键入到获得焦点的TextField内。
1.自动获得焦点
为了让TextField在widget创建的时候自动获取焦点,设置autofocus属性为true。
TextField(
autofocus: true,
),
2.自定义焦点切换
如果我们想代码变化焦点而不是仅仅自动获得焦点需要怎么做呢?由于我们需要某种方式来引用我们想要关注的TextField,我们将FocusNode附加到TextField并使用它来切换焦点。
// Initialise outside the build method
FocusNode nodeOne = FocusNode();
FocusNode nodeTwo = FocusNode();
// Do this inside the build method
TextField(
focusNode: nodeOne,
),
TextField(
focusNode: nodeTwo,
),
RaisedButton(
onPressed: () {
FocusScope.of(context).requestFocus(nodeTwo);
},
child: Text(“Next Field”),
),
这里我们创建了两个focus node并且将他们依附到TextField上,当点击Ne