在颤动中将焦点滑动到文本域

过去几天我一直在学习颤振,在开发我的应用程序时遇到了一个问题。所以我有一个包含所有基本输入字段的基本表单,在用户点击提交按钮后,应用程序会检查文本字段的有效性。如果有一些错误的条目应用程序移动焦点回到文本字段。

如何将焦点移回到文本字段?

59833 次浏览
var focusNode = FocusNode();
var textField = TextField(focusNode: focusNode);


FocusScope.of(context).requestFocus(focusNode);
// or
focusNode.requestFocus();

参见

 TextField(
autofocus: true,
);

使用

FocusScope.of(context).previousFocus();


enter image description here

Column(
children: [
TextField(...), // 1st TextField
TextField(...), // 2nd TextField
RaisedButton(
onPressed: () => FocusScope.of(context).previousFocus(), // This is what you need
child: Text("Go back"),
),
],
)

FocusNode name _ focus = FocusNode () ;

                     TextField(
controller: name_Controller,
focusNode: name_focus,
decoration: InputDecoration(
errorText: name_validate ? 'Enter Name' : null,
labelStyle:
TextStyle(color: HexColor(HexColor.gray_text)),
labelText: "Name",
border: OutlineInputBorder(),
enabledBorder: OutlineInputBorder(
borderSide:
BorderSide(color: HexColor(HexColor.gray))),
focusedBorder: OutlineInputBorder(
borderSide:
BorderSide(color: HexColor(HexColor.gray))),
),
),

检查验证名称是否为空自动滚动显示我的页面

 if(name_Controller.text.isEmpty){
name_validate=true;
name_focus.requestFocus();
}