flutter - 自动对焦重置到文本字段的开头
问题描述
当我加载(构建)页面时,我必须关注已经有输入的 textFormField,但是光标会转到文本字段的开头而不是输入的末尾。
var _tCelular = TextEditingController();
my init()
_tCelular.text = "41";
Container txtCelular1() {
return Container(
margin: EdgeInsets.only(top: 16),
child: TextFormField(
controller: _tCelular,
autofocus: true,
style: TextStyle(
color: Colors.deepOrange,
fontSize: 18,
),
decoration: InputDecoration(
labelText: 'Celular',
hintText: '(__) _ ____-____',
labelStyle: TextStyle(
color: Colors.grey, fontSize: 18, fontWeight: FontWeight.bold),
border: OutlineInputBorder(
borderRadius: BorderRadius.circular(22),
),
errorStyle: TextStyle(fontSize: 18),
suffixIcon: IconButton(
onPressed: () {
_onTapBuscarDadosCliente();
},
icon: Icon(Icons.search),
),
),
focusNode: _focusNodeFone,
keyboardType: TextInputType.number,
inputFormatters: [
FilteringTextInputFormatter.digitsOnly,
TelefoneInputFormatter(),
],
),
);
}
解决方案
由于没有人能够帮助我,我找到了答案。我只需要在_tCelular.selection = TextSelection.collapsed(offset: _tCelular.text.length);
之后添加_tCelular.text = "41";
所以,我的 initState 就像:
_tCelular.text = ddd;
_tCelular.selection = TextSelection.collapsed(offset: _tCelular.text.length);
这对我有用。
推荐阅读
- python - Jupyter notebook 在两个单元格之间运行所有代码
- rally - 从 wsapi 中的 Rally 中的用户故事级别的自定义字段列表填充组合框
- ios - iOS - 如何在使用泛型的类上遵守 NSItemProviderWriting 和 NSItemProviderReading 协议
- angular6 - 如何将 momemt 添加到 Angular-datatable 6.0
- r - 按升序对具有不同行数的大数据框的列进行排序
- c++ - 为什么要使用 ref 限定符 & 声明已删除的赋值运算符
- python - Python 将 Int 打印为字符串
- c# - 如何在设计时调试 uwp 自定义控件
- nginx - 如何重定向到 https,除了模式
- python - 如何将一行和一列特征成对组合到keras中的特征矩阵?