когда я добавляю новый элемент в мой список, он перезаписывает предыдущее значение. я хочу добавить список, но этого не происходит
Container(
// color: Colors.red,
child: Row(
mainAxisAlignment: MainAxisAlignment.end,
children: <Widget>[
Container(
width: 50,
height: 50,
// color: Colors.blue,
child: FlatButton(onPressed: (){
if(_itemCount > 0){
setState(() {
_itemCount--;
});
}
}, child: Image(image: AssetImage("images/minus.png"),width: 20,height: 20,),),
),
Container(
child: Text("$_itemCount"),
),
Container(
width: 50,
height: 50,
// color: Colors.green,
child: FlatButton(onPressed: () async{
setState(() {
_itemCount++;
});
cartItemList = [{"index":widget.intex,"itemObj":widget.items,"quantity":_itemCount}];
print(addedItems(cartItemList));
final prefs = await SharedPreferences.getInstance();
await prefs.setStringList('itemList', addedItems(cartItemList));
}, child: Image(image: AssetImage("images/plus.png"),width: 20,height: 20,),),
),
],
),
),
У меня есть просмотр списка, элементы просмотра списка будут извлекаться из API, когда я нажимаю один элемент, я хочу добавить его в список, который я могу сохранить в совместном предпочтении. но каждый раз, когда я нажимаю на кнопку ранее, одна перезаписывается новой.
ниже приведен код для преобразования данных в json формат
List<String> addedItems(List<dynamic> cartList){
try {
var res = cartList.map((v) => json.encode(v)).toList();
return res;
} catch (err) {
// Just in case
return [];
}
}
Вывод равен 1. при добавлении первый элемент
[{"itemObj": {"item_price": 22.0, "item_name": "DINE SPECIAL BREAKFAST", "item_img": "", "item_code": "001", "item_discount": 0.0, "item_id": 552, "category_id": 12}, "количество": 1}]
когда я снова добавляю тот же элемент
[{"itemObj": {"item_price": 22.0, "item_name": "DINE SPECIAL BREAKFAST", "item_img": "", "item_code ":" 001" , "item_discount": 0.0, "item_id": 552, "category_id": 12}, "количество": 2}]
когда я добавляю новый элемент
[{"itemObj": {"item_price": 20.0, "item_name": "Engli sh Breakfast", "item_img": "", "item_code": "002", "item_discount": 0.0, "item_id": 71, "category_id": 12}, "количество": 1}]
////////// ////////////////////////////////////////////////// ////////////////////////////////////////////////// //////////////////////////////////////
Но я хочу поставить как
[{"itemObj": {"item_price": 22.0, "item_name": "DINE SPECIAL BREAKFAST", "item_img": "", "item_code": "001", "item_discount": 0.0, "item_id": 552, "category_id": 12}, "количество": 2}, {"item_price": 20.0, "item_name": "Engli sh Breakfast", "item_img": "", "item_code": "002", "item_discount": 0.0, "item_id": 71, "category_id": 12}, "количество": 1}]