我正在动态生成文本字段,并尝试获取文本字段的内容。
//I declared a list of string and generated it using the length of my product.
late final List<String> recovered;
//the length of the products is 3
recovered = List.generate(products.length, (index) => ""));
TextField(
onSubmitted: (value) {
recovered.insert(index, value);
log("the value is $value");
setState(() {});
},
controller: myControllers[index],
decoration: const InputDecoration(
enabledBorder:OutlineInputBorder(
borderSide: BorderSide(
width: 1,
color: Colors.grey)),
),
),
我将1,2,4插入到listView Builder生成的textField中,得到的值为[1,2,4,,,],而不是[1,2,4]。
2条答案
按热度按时间carvr3hs1#
调用
insert
会将它们添加到列表中。我相信您希望替换它们。为此,你需要做的
gupuwyp22#
在你的
Submit
上,你需要检查这个值是否为空,然后把它添加到你的列表中: