Это мой код для хранения CartItems.
Я хочу сохранить его в общих настройках как cartItems, так как при refre sh данные теряются. Также я хочу, чтобы в CartItem была функция для проверки того, находится ли Продукт в корзине или нет, чтобы я мог сделать его отмеченным или не отмеченным.
class CartItem {
final String id;
final String prodID;
final String title;
final String img;
final double quantity;
final double price;
final double availQuantity;
CartItem({
@required this.id,
@required this.prodID,
@required this.title,
@required this.quantity,
@required this.price,
@required this.img,
this.availQuantity,
});
}
class Cart with 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, String img,
double availQuantity) {
if (_items.containsKey(productId)) {
_items.update(
productId,
(existingCartItem) => CartItem(
id: existingCartItem.id,
title: existingCartItem.title,
img: existingCartItem.img,
price: existingCartItem.price,
quantity: existingCartItem.quantity + 1,
availQuantity: existingCartItem.availQuantity,
),
);
} else {
_items.putIfAbsent(
productId,
() => CartItem(
id: productId,
title: title,
img: img,
price: price,
quantity: 1,
availQuantity: availQuantity,
),
);
}
notifyListeners();
}
}
Я пробовал много способов преобразовать в строку и вызвать setString (), преобразовать в список тоже. но не мог сделать sh. Требуется помощь.