【发布时间】:2021-11-10 18:00:51
【问题描述】:
我正在使用 hive,我正在尝试按照下面的代码监听自定义存储键的值变化,但我无法获取任何数据?那么我该如何实现呢?
Stream<BoxEvent> listenToLocalCartItem(String cartItemId) {
var box = Hive.box('cart');
box.watch(key: cartItemId).listen((event) {
CartItemModel cartItem = event.value;
if (cartItem.numberOfItems > 0) {
emit(AddToCartState.showCartValue(cartItem.numberOfItems));
} else {
emit(AddToCartState.showAddButton());
}
});
}
另一方面,我想跟踪框中的所有数据更改,就像下面的代码一样,就像 firestore 快照一样,我也无法获得任何更改
Stream<Box> listenToLocalCart() {
Hive.openBox('cart').asStream().listen((event) {
_cartStatusProvider.cartItems = event.values.toList();
});
}
【问题讨论】:
标签: database flutter dart stream flutter-hive