flutterbootcamp / brasil_fields

O jeito mais fácil de utilizar padrões e formatos brasileiros em seu projeto
https://flutterbootcamp.github.io/brasil_fields/#/
Other
138 stars 41 forks source link

getTextBeforeCursor/getSelectedText on inactive InputConnection #6

Closed marcelino-borges closed 4 years ago

marcelino-borges commented 5 years ago

Já tinha um form completo e funcionando no meu app em Flutter e tentei usar os formatters dessa biblioteca, porém ao tentar digitar os respectivos dados nos campos de CPF e TELEFONE, respectivamente, fica assim: 2

Também recebo isso no console: getTextBeforeCursor on inactive InputConnection getSelectedText on inactive InputConnection

E esse é meu input field:

TextFormField(
    inputFormatters: inputFormatters,
    onFieldSubmitted: onSumitted,
    textInputAction: textInputAction,
    obscureText: this._obscureText ? (snapshot.data ?? false) : false,
    style: TextStyle(color: Colors.white),
    keyboardType: _textInputType,
    focusNode: focusNode,
    decoration: InputDecoration(
        suffixIcon: this._obscureText
            ? IconButton(
                icon: Icon(
                    snapshot.data != null
                        ? (snapshot.data
                            ? FontAwesomeIcons.eyeSlash
                            : FontAwesomeIcons.eye)
                        : null,
                    color: Colors.white),
                onPressed: () {
                  _signUpBloc.inObscurePasswordText.add(!snapshot.data);
                })
            : null,
        contentPadding:
            EdgeInsets.symmetric(horizontal: 24, vertical: 16),
        filled: true,
        fillColor: Color.fromARGB(80, 255, 255, 255),
        border: OutlineInputBorder(
            borderSide: BorderSide(width: 1, color: Colors.transparent),
            borderRadius:
                const BorderRadius.all(const Radius.circular(35))),
        enabledBorder: OutlineInputBorder(
            borderSide: BorderSide(width: 1, color: Colors.transparent),
            borderRadius:
                const BorderRadius.all(const Radius.circular(35))),
        focusedBorder: OutlineInputBorder(
            borderSide: BorderSide(
                color: Theme.of(context).accentColor, width: 1),
            borderRadius:
                const BorderRadius.all(const Radius.circular(35))),
        errorBorder: OutlineInputBorder(
            borderSide: BorderSide(color: Colors.red, width: 1),
            borderRadius:
                const BorderRadius.all(const Radius.circular(35))),
        focusedErrorBorder: OutlineInputBorder(
            borderSide: BorderSide(color: Colors.red, width: 1),
            borderRadius:
                const BorderRadius.all(const Radius.circular(35))),
        errorStyle: TextStyle(
            fontSize: 14,
            fontWeight: FontWeight.bold,
            color: Colors.red[200]),
        hintText: _hintText,
        hintStyle: TextStyle(color: Colors.white)),
    textCapitalization: _textCapitalization,
    validator: _validator,
    //onSaved: ,
    controller: _fieldController,
);

que está dentro de um widget customizado onde recebo diversos parâmetros que setam as configs do meu TextFormField, inclusive a variável "inputFormatters" é uma lista do tipo "TextInputFormatter" que passo. Passei CpfInputFormatter() para o campo de CPF e TelefoneInputFormatter() para o campo de telefone.

Alguém já passou por isso? Obrigado.

rubensdemelo commented 5 years ago

vou tentar simular aqui e te aviso:

Já tentou : TextFormField( inputFormatters: [ WhitelistingTextInputFormatter.digitsOnly, CpfInputFormatter(), ], );

marcelino-borges commented 5 years ago

vou tentar simular aqui e te aviso:

Já tentou : TextFormField( inputFormatters: [ WhitelistingTextInputFormatter.digitsOnly, CpfInputFormatter(), ], );

Tentei, sim. Quando faço isso, a máscara deixa de aparecer dentro do campo e fica como se não tivesse usando formatter algum. kkk

Obrigado!

rubensdemelo commented 5 years ago

@marcelino-borges é um problema com textinputformatter em geral. Já abri uma issue la no repositório do flutter https://github.com/flutter/flutter/issues/39223

rubensdemelo commented 5 years ago

https://github.com/flutter/flutter/issues/39047

marcelino-borges commented 5 years ago

@marcelino-borges é um problema com textinputformatter em geral. Já abri uma issue la no repositório do flutter flutter/flutter#39223

Ahhh, saquei! Que pena! Valeu pela prestatividade!