【发布时间】:2022-01-17 19:00:21
【问题描述】:
我创建了一个对象并尝试将其推送到一个数组上。 当我第一次尝试在数组中添加一个对象时,它被完美地添加了,但是当我编辑对象并再次将对象推送到同一个数组时。但是数组中的两个值看起来都一样。
在数组中,它会推送我的对象的引用,当它发生变化时,也会反映在数组中。
能否请人帮我在数组中推送对象值而不是对象的引用?
void checkedItem(int id) {
obj!.clear();
obj = {
"id": id,
"items": {
"artical": "",
"item": "",
"vol": "",
"pc/ctm": "",
"total": "",
"option": false,
"action": "",
},
};
filterList!['special_cases'].forEach((data) {
if (data['value'] == true) {
temp.add(obj);
}
});
filterList!['categories'].forEach((data) {
data['subCategories'].forEach((item) {
if (item['value'] == true) {
obj!['items']['item'] = item['name'];
temp.add(obj);
}
});
});
// print(temp);
update();
}
void addPhaseItem() {
phaseData.add(temp);
print(phaseData);
Get.back();
temp.clear();
update();
}
【问题讨论】:
-
首先尝试识别列表中的 id 是否重复,如果没有,则添加新的
-
快速提问:这与 Firestore 有什么关系? (我同意@ArbiterChil,如果您使用的是通用对象,请检查该项目是否已存在于列表中)