自动对焦重置为文本字段的开头

问题描述

当我加载(构建)页面时,我必须将注意力集中在已经有输入的 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,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(),],);
  }

enter image description here

解决方法

由于没有人能够帮助我,我找到了答案。 我只需要在 _tCelular.selection = TextSelection.collapsed(offset: _tCelular.text.length);

之后添加 _tCelular.text = "41";

所以,我的 initState 就像:

_tCelular.text = ddd;

_tCelular.selection = TextSelection.collapsed(offset: _tCelular.text.length);

这对我有用。