class MatManager { List> items = []; MatManager(this.items); void matManager({int? index, Map? newItem}) { if (index != null && newItem != null) { // 更新指定索引的对象 items[index] = newItem; } else if (newItem != null) { // 添加新项目 items.add(newItem); } else { print('请提供有效的索引或项目'); } } void addOrUpdateItem({required var newItem, required var fieldsToMatch}) { for (var item in items) { bool isMatch = fieldsToMatch.every((field) => item[field] == newItem[field]); if (isMatch) { item['quantity'] = (item['quantity'] ?? 0) + (newItem['quantity'] ?? 0); return; } } items.add(newItem); } }