问题描述
我正在尝试学习如何通过 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 (将#修改为@)