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