Flutter - 带有 MaskTextInputFormatter 的 TextField - 退格键删除所有字符而不是 1 个字符

问题描述

我正在尝试学习如何通过 MaskTextInputFormatter 正确使用 TextField。我还使用 控制器 为其设置初始值。但是当用户按下退格键时,所有文本都会被删除,而不仅仅是 1 个字符。

有人知道如何正确设置吗?我还尝试通过控制器更改“选择”属性,但没有任何改变。

有状态

// 将初始文本设置到 TextField 中

class _Errosstate extends State<Erros> 

{
var valorController = TextEditingController(
text: "(91) 12345-1234");

// __________________________________________________

// 无状态

class CadastroTelefonePage extends StatelessWidget {

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Flutter Demo',home: Scaffold(
        body: 

TextField(
controller: _Errosstate().valorController,inputFormatters: [MaskTextInputFormatter(

mask: '(##) #####-####',filter: {"#": RegExp(r'[0-9 ]')})
],onChanged: (text) {
                    _Errosstate.input = text;
                  },obscureText: false,decoration: Inputdecoration(
                    border: OutlineInputBorder(),labelText: '(XX) XXXXX-XXXX',),

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)