You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Flutter动态TextField值合并为单一列表问题求助

解决Flutter动态TextField值合并为单一列表的问题

你的问题出在collectData方法里的print语句位置——它被放在了for循环内部,每往列表里添加一个TextField的值就打印一次,所以会输出11次逐步递增的列表。

只需要把print(descriptions)移到循环外面,就能只打印最终的完整列表:

void collectData() {
  descriptions.clear();
  for (int index = 0; index < descriptionControllers.length; index++) {
    descriptions.add(descriptionControllers[index].text);
  }
  // 移到循环外,仅打印一次完整列表
  print(descriptions);
}

你也可以用Dart的map方法简化代码,替代for循环,写法更简洁:

void collectData() {
  descriptions = descriptionControllers.map((controller) => controller.text).toList();
  print(descriptions);
}

执行以上修改后,控制台只会输出一次包含所有TextField值的完整列表。

内容的提问来源于stack exchange,提问作者Ahmad

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.02 01:36:29