繁体   English   中英

将焦点滑动到 Flutter 中的 TextField

[英]Slide focus to TextField in Flutter

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

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

var focusNode = FocusNode();
var textField = TextField(focusNode: focusNode);

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

另见

 TextField(
      autofocus: true,
);

使用

FocusScope.of(context).previousFocus();


在此处输入图片说明

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();
  }

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM