美文网首页
Flutter输入框TextField光标不在内容最后面

Flutter输入框TextField光标不在内容最后面

作者: 信仰年輕 | 来源:发表于2022-04-06 12:52 被阅读0次

    通过controller控制TextField时,默认状态下光标会跑到内容最前面。
    通过以下方式,使光标保持在内容最后面;

    class _FormmState extends State<Formm> {
      TextEditingController _username = new TextEditingController();
      void initState() {
        super.initState();
        _username.text = "初始值";
      }
    
      @override
      Widget build(BuildContext context) {
        return Container(
          height: 600,
          child: Column(
            children: <Widget>[
              TextField(
                controller: _username,
                decoration: InputDecoration(
                  icon: Icon(Icons.people),
                  labelText: "用户名",
                  helperText: "输入长度2个字以上的汉字",
                  hintText: "请输入用户名",
                  errorText: "errorText",
                ),
                onChanged: (value) {
                  setState(() {
                    _username.text = value;
                    _username.value = TextEditingValue(
                      text: _username.text,
                      selection: TextSelection.fromPosition(
                        TextPosition(
                          affinity: TextAffinity.downstream,
                          offset: _username.text.length,
                        ),
                      ),
                    );
                  });
                },
              ),
              Container(
                child: TextButton(
                  child: Text("提交"),
                  onPressed: () {
                    print(_username.text);
                  },
                ),
              )
            ],
          ),
        );
      }
    
    

    相关文章

      网友评论

          本文标题:Flutter输入框TextField光标不在内容最后面

          本文链接:https://www.haomeiwen.com/subject/qrprsrtx.html