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

戚飞虎
2023-12-01

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


  TextEditingController _textEditingController = new TextEditingController();

  TextField(
    controller: _textEditingController,
  ),

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

_textEditingController.text ="早起的年轻人";

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

String textStr ="早起的年轻人";
_textEditingController.value = TextEditingValue(
        text: textStr,
        selection: TextSelection.fromPosition(
            TextPosition(
                affinity: TextAffinity.downstream,
                offset: textStr.length)));

如果你有兴趣 你可以关注一下公众号 biglead 来获取最新的学习资料。

 类似资料: