我正在处理3个列表。一个列表包含原始值,另一个列表包含要添加或更新到原始列表的值,另一个列表包含新值。我有一个函数来检查条件是否为真,如果为真,它只是增加原始列表中项目的数量,而不添加元素。如果不为真,则将元素添加到列表中以获取新项,最终将添加到原始列表中。问题是,经过一些使用后,函数停止对条件的React并执行两个操作,增加值并向列表中添加一个新值。你们知道我如何解决这个问题吗?
void addToTable(List<CartProduct> cart) {
if (table!.items!.isNotEmpty) {
for (int i = 0; i < table!.items!.length; i++) {
final CartProduct cartProduct = table!.items![i];
for (var element in cart) {
if (element.productId == cartProduct.productId) {
cartProduct.increment();
} else {
newItems!.add(element);
}
}
}
table!.items!.addAll(newItems!);
newItems!.clear();
saveTableOrder();
notifyListeners();
} else {
table!.items!.addAll(cart);
saveTableOrder();
}
}
1条答案
按热度按时间46qrfjad1#