我有一个显示某些文本字段的列表视图构建器(项目的数量不是固定的,总是可变的)。有一个按钮委托来获取此文本字段的所有值。我该怎么办?
答案 0 :(得分:0)
您必须将数据存储在包含ListView
的有状态小部件中。
例如,您的数据可以是一个简单的列表,每个TextField
都有一个项目。
在用户编辑字段时,使用onChanged
的{{1}}回调来更新数据。
答案 1 :(得分:0)
首先像这样List
定义一个List<TextEditingController> textFieldControllers=[];
然后像这样遍历在List.builder
中创建窗口小部件所使用的列表。
for (var i = 0; i < typesItem.length; i++) {
textFieldControllers.add(TextEditingController());
}
其中typesItem
是创建Listbuilder窗口小部件时使用的List项,以便与窗口小部件动态保持相同的长度。您可以在initState
方法上运行此代码
之后转到List.builder小部件并像这样初始化控制器。
textFieldControllers[index] = TextEditingController() ;
并像这样在您的return方法中设置TextField控制器
textFieldControllers[index]
因此,您可以通过使用
来获得全部价值。 textFieldControllers[index].text;
您可以根据自己的情况进行操作以适应情况