我有一个TextFormField,当我点击它以输入文本时会重新加载当前屏幕。当我点击表单域时,在重新加载整个屏幕并再次呈现所有小部件之前,会短暂显示软件键盘。我正在Android设备上运行该应用程序。
Container(
child: Form(
key: _formKey,
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: <Widget>[
TextFormField(
validator: (value) {
if (value.isEmpty) {
return 'Your input cannot be empty';
}
},
),
Padding(
padding: const EdgeInsets.symmetric(vertical: 16.0),
child: RaisedButton(
onPressed: () {
if (_formKey.currentState.validate()) {
print('validated');
}
},
child: Text('Save'),
),
),
],
),
),
margin: EdgeInsets.only(top:8.0),
),
Run Code Online (Sandbox Code Playgroud)
小智 2
问题是,当您单击该字段时,TextFormField 的控制器会重建,这就是问题的原因。
因此,为了解决这个问题,您是否尝试创建一个 Statefull 小部件,然后在此小部件的 State 中创建一个 TextEditingController 并将其作为参数传递给 TextFormField ?
| 归档时间: |
|
| 查看次数: |
668 次 |
| 最近记录: |