Flutter:TextEditingController数组

nr9pn0ug  于 12个月前  发布在  Flutter
关注(0)|答案(4)|浏览(115)

什么是最好的方法来设置一个数组的TextEditingController在一个Flutter.我的意思是我需要得到一个值数组的Textfield(1到n)值,并发送到服务器.
有人能帮助我们实现这一目标吗?
我试

for(int i=1;i<75;i++) { 
TextEditingController _controller[i] = TextEditingController(); 
}

字符串
问候,Sathish

ctzwtxfj

ctzwtxfj1#

有很多方法可以做到

List<TextEditingController> _controller = List.generate(74, (i) => TextEditingController());

字符串

List<TextEditingController> _controller = [];
for (int i = 1; i < 75; i++) _controller.add(TextEditingController());


List<TextEditingController> _controller = [
  for (int i = 1; i < 75; i++)
    TextEditingController()
];

fslejnso

fslejnso2#

需要添加一个 TextEditingController 的列表,需要将contoller文本添加到该列表中,并根据需要解析它。

List<String> selection = [];  
 List<Product> productList = []; 

 //---------Adding contoller to list   
  
 productProvider.getAll(user.guid).forEach((element) {//---List<Product>
 final TextEditingController quantityController = 
 TextEditingController(text: element.quantity);
 quantityControllers.add(quantityController);
 });

   //-------Adding list of products to list
  List<Map<String, dynamic>> productItems = [];
   List<Product> productOriginalList = 
   productProvider.getAll(user.guid);
   for (int i = 0; i < productOriginalList.length; i++) {
   final Product product = productOriginalList[i];
   if (selection.contains(product.equipmentId)) {
               
   productItems.add(product.toJson(quantityControllers[i].text));
              }

 /* Map<String, dynamic> toJson(String quan) => {
'ProductId': id,
'Quantity': quan,
 };     
TextField(
controller: quantityControllers[index],*/

字符串

lb3vh1jj

lb3vh1jj3#

如果你使用的是动态小部件,你可以使用-

TextEditingController _controller = new  TextEditingController();

字符串
在你的动态小部件中。这将在你的小部件每次运行时自动创建新的文本控制器。最后你可以将该值存储在你的列表中。
示例:-

List <String>controllers = [];
controllers.add(_controller.text.toString)

hwazgwia

hwazgwia4#

你可以简单地使用这个解决方案:
定义Map列表:

List<Map<String, TextEditingController>> get foodAccompaniments;

字符串
在需要获取值时添加新项:

foodAccompaniments.add({
  'name':TextEditingController(),
  'price':TextEditingController(),
});


最后使用控制器:

controller: foodAccompaniments.last['name'],

controller: foodAccompaniments.last['price'],

相关问题