我正在尝试使用Flutter制作电子商务应用程序。当我点击产品时,它会显示一个带有产品详细信息的底部表单。这个想法是,一旦我将产品添加到购物车中,一个数字将出现在购物车图标的顶部,详细说明您在购物车中保存的产品数量。
购物车
一旦我点击保存到购物车底部,底部表单将关闭,但是,父页面不刷新,它仍然显示以前保存的金额
void openBotomSheet(Product product){
showMaterialModalBottomSheet(
context: context,
builder: (context) => ClientProductsDetailPage(product: product),
);
我试着使用这个在互联网上找到的解决方案,没有运气
Widget _cardProduct(Product product){
return GestureDetector(
onTap: ()async{
await _con.openBotomSheet(product);
setState((){});
},
child: Container( 'Content Here' )
感谢您的帮助
你必须从这改变你的功能:
void openBotomSheet(Product product){
showMaterialModalBottomSheet(
context: context,
builder: (context) => ClientProductsDetailPage(product: product),
);
Future openBotomSheet(Product product) async {
return await showModalBottomSheet(
context: context,
builder: (context) => ClientProductsDetailPage(product: product),
);
和你的gestredetector到这个:
Widget _cardProduct(Product product){
return GestureDetector(
onTap: ()async{
_con.openBotomSheet(product).then((value){
// Do refresh function here
// Also take setState inside, to rebuild the widget
setState((){});
});;
},
child: Container( 'Content Here' )
更新:
我不认为有类似showMaterialModalBottomSheet
的东西,因此我使用了最接近的类似部件,即showModalBottomSheet
。