Flutter TextField 设置默认值和光标位置

2021-10-13 17:54:40 浏览数 (1)

Flutter TextField 是一个文本输入框,可以结合使用 TextEditingController 来获取输入框中的内容以及设置 TextField 中默认显示的内容

代码语言:javascript复制
  TextEditingController _textEditingController = new TextEditingController();

  TextField(
    controller: _textEditingController,
  ),

一般我们设置默认显示的内容时可以这样

代码语言:javascript复制
_textEditingController.text ="weaster";

这样导致的问题就是设置值后,输入框的光标会显示在文本最前面,用户体能不好,我们期望的是光标保持在文本最后,所有可以这样来设置

代码语言:dart复制
String textStr ="weaster";
_textEditingController.value = TextEditingValue(
        text: textStr,
        selection: TextSelection.fromPosition(
            TextPosition(
                affinity: TextAffinity.downstream,
                offset: textStr.length)));

0 人点赞