我用 BasketBloc 包装了 inkwell 小部件,在篮子事件中我有一个函数 AddProduct ,它实际上将添加产品添加到购物篮中,其代码如下:
onTap: () {
context
.read<BasketBloc>()
..add(AddProduct(Product.products[index]));
}
这段代码运行良好。问题是 AddProduct 正在将产品模型中的静态产品添加到购物篮中。我希望它从 ProductBloc 状态添加产品,例如,我可以执行类似 state.products[index] 的操作,而不是 Product.products[index] ,并且状态是 ProductBloc 而不是 BasketBloc 的状态。我尝试了各种方法,但没有任何帮助。
好吧,我让它工作了,我只是给了不同的集团不同的州名称,它就工作了,例如:
BlocBuilder<BasketBloc, BasketState>(
builder: (context, state) { //here i changed state to basketstate
我拥有的另一个集团是 ProductBloc,它位于 BasketBloc 内
BlocBuilder<ProductBloc, ProductState>(
builder: (context, state) { //here i changed state to productstate
....
context
.read<BasketBloc>()
..add(AddProduct(Product.products[index])); //here i replaced Product with productstate and it worked
...
}