我正在使用 flutter 构建一个具有一组动态输入的表单。 因此,我永远无法假设表单将有多少个文本字段,因此我无法手动为每个字段分配一个键以便稍后从其 Controller 检索数据。
如果我实例化一个包含一些 TextFormField
的 Form
,我如何才能简单地提取整个表单的键值数组,例如,当按下一个按钮时?
Form(
key: _formKey,
child: Column(
children: [
TextFormField(),
TextFormField(),
TextFormField(),
]
)
)
最佳答案
动态生成 TextField 及其 Controller
Map<int,TextEditingController> controllers = {};
Form(
key: _formKey,
child: Column(children: [
...List.generate(length, (index) {
var controller = controllers.putIfAbsent(
index, () => TextEditingController());
return TextFormField(
controller: controller,
);
})
]));
您可以使用索引访问给定 map 中的所有 Controller
关于Flutter 从表单中提取所有键值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63025276/