Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/image-processing/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Flutter 根据小部件变量的设置状态设置TextFormField的值_Flutter_Widget - Fatal编程技术网

Flutter 根据小部件变量的设置状态设置TextFormField的值

Flutter 根据小部件变量的设置状态设置TextFormField的值,flutter,widget,Flutter,Widget,在构建小部件后,当小部件变量根据setstate操作而不是此textformfeild的初始值更改时,如何从小部件变量设置TextFormField的值 据我所知,我可以通过使用TextEditingController更改其值,但我有太多TextFormField,创建TextEditingController需要大量代码,使用传统方法将它们添加到整个小部件中: 1-创建文本编辑控制器。 2-将TextEditingController连接到文本字段。 3-创建函数以更新最新值。 4-倾听控制

在构建小部件后,当小部件变量根据
setstate
操作而不是此
textformfeild
的初始值更改时,如何从小部件变量设置
TextFormField
的值
据我所知,我可以通过使用
TextEditingController
更改其值,但我有太多
TextFormField
,创建
TextEditingController
需要大量代码,使用传统方法将它们添加到整个小部件中:
1-创建文本编辑控制器。
2-将TextEditingController连接到文本字段。
3-创建函数以更新最新值。
4-倾听控制器的变化。

是否有任何方法可以构建此控制器并仅在
TextFormField
的代码中执行这些步骤?或者另一种方法?

最好的方法是简单地制作一个小部件。对于这个,下面是我将使用的代码

class StateTextField extends StatelessWidget {
  final String text;
  const StateTextField({Key key, this.text = ''}) : super(key: key);

  @override
  Widget build(BuildContext context) {
    return TextField(
      controller: TextEditingController(text: text),
    );
  }
}
那就行了。如果你想通过控制器,你也可以通过它。要使用它,只需在build方法中调用类。

将controller放入

TextFormField(
      controller: TextEditingController(text: daytask),....
然后放置
setstate()txt=''像这样

setState(() { txt='' }

我想你想用一种非常简单的方法在每次调用setState时将文本放入文本字段?是的,就像我需要的那样