при реализации виджета Dismissible
У меня ошибка при удалении элемента.
return Dismissible(
key: Key(widget.product.id),
onDismissed: (direction) {
setState(() {
BlocProvider.of<ManagerBloc>(context)
.add(RemoveProduct(widget.product));
});
Родитель этого потомка выглядит как
return ListView.builder(
itemCount: state.shopItem.length,
itemBuilder: (BuildContext context, int index) {
return ProductElement(product: state.shopItem[index]);
});
}
Я переместил его в родительский элемент и удалил shopItem.removeAt()
с BlocProvider, но все же я получил это isseu. Даже если я удаляю объект, используя remove
в списке, он показывает то же самое сообщение об ошибке:
if (event is RemoveProduct) {
await shopListRepository.remove(event.product);
yield DefaultDataManager((state as DefaultDataManager)
.shopItem
.where((item) => item.id != event.product.id)
.toList());
}
Я попытался UniqueKey, и это был тот же самый результат. Мой product_id - '64b7ff60-f782-11e9-a3e8-a9ee0aa87ea5', сгенерированный uuid.v1 ().