flutter 我正在尝试在列表中添加多个Map?

x8diyxa7  于 2023-06-07  发布在  Flutter
关注(0)|答案(1)|浏览(223)

我正在尝试在列表中添加Map。

map.addAll(
  {
    "sr_no": sr_no.text,
    'f_name': first_name.text,
    "l_name": last_name.text,
    "occupation": occupation.text,
    "mobile_no": mobile_no.text
  },
);
print(map);
list.add(map);
print(list);

我有文本字段的数据和按钮的onpressed事件,但它更新的最新数据,每一张Map。
输出::

[{sr_no: 1, f_name: veer, l_name: Sharma, occupation: studing, mobile_no: 98656321471}, 
{sr_no: 1, f_name: veer, l_name: Sharma, occupation: studing, mobile_no: 98656321471}, 
{sr_no: 1, f_name: veer, l_name: Sharma, occupation: studing, mobile_no: 98656321471}]
yb3bgrhw

yb3bgrhw1#

当你执行map.addAll时,你正在改变Map并用新的值更新它。这意味着它也会更改列表中已经存在的所有其他Map,因为它们实际上是相同的Map。你可能想做的是

map = {
    "sr_no": sr_no.text,
    'f_name': first_name.text,
    "l_name": last_name.text,
    "occupation": occupation.text,
    "mobile_no": mobile_no.text
  };

创建新Map。甚至直接

list.add({
    "sr_no": sr_no.text,
    'f_name': first_name.text,
    "l_name": last_name.text,
    "occupation": occupation.text,
    "mobile_no": mobile_no.text
  });

相关问题