Flutter: в корзину добавлен только 1 товар (Logi c Probem) - PullRequest
0 голосов
/ 14 июля 2020

Я пытаюсь поместить товары в корзину, но сталкиваюсь с проблемой, что корзина не обновляется более одного раза для каждого продукта.

Мне нужна функция addItem, чтобы добавлять товар в корзину всякий раз, когда я звоню это

Вот код:

 class Cart extends ChangeNotifier{
  Map<String, CartItem> _items = {};

  Map<String, CartItem> get items{
    return {..._items};
  }

  int get itemCount{
    return _items.length;
  }

  void addItem(String productId, double price, String title){
    if(_items.containsKey(productId)){
      //change qunatity
      _items.update(productId, (value) => CartItem(
        id: value.id,
        title: value.title,
        price: value.price,
        quantity: value.quantity + 1
      ));
    } else{
      _items.putIfAbsent(productId,
        () => CartItem(
          id: DateTime.now().toString(),
          title: title,
          price: price,
          quantity: 1,
        )
      );
    }
    notifyListeners();
  }
}
...