flutter 字符串列表重复

fhg3lkii  于 2022-11-25  发布在  Flutter
关注(0)|答案(2)|浏览(199)

我正在动态生成文本字段,并尝试获取文本字段的内容。

//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]。

carvr3hs

carvr3hs1#

调用insert会将它们添加到列表中。我相信您希望替换它们。为此,

recovered.insert(index, value);

你需要做的

recovered[index] = value;
gupuwyp2

gupuwyp22#

在你的Submit上,你需要检查这个值是否为空,然后把它添加到你的列表中:

onSubmitted: (value) {
    if(value.isNotEmpty){
      recovered.insert(index, value);
      log("the value is $value");
      setState(() {});
    }
      
},

相关问题