自动对焦重置到文本字段的开头
Autofocus reset to the beginning of textfield
当我加载(构建)页面时,我必须关注已经有输入的 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.text = "41";
之后添加 _tCelular.selection = TextSelection.collapsed(offset: _tCelular.text.length);
所以,我的 initState 是这样的:
_tCelular.text = ddd;
_tCelular.selection = TextSelection.collapsed(offset: _tCelular.text.length);
这对我有用。
当我加载(构建)页面时,我必须关注已经有输入的 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.text = "41";
_tCelular.selection = TextSelection.collapsed(offset: _tCelular.text.length);
所以,我的 initState 是这样的:
_tCelular.text = ddd;
_tCelular.selection = TextSelection.collapsed(offset: _tCelular.text.length);
这对我有用。