如何在ModalBottomSheet Flutter中完成操作时刷新父页面



我正在尝试使用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

相关内容

  • 没有找到相关文章

最新更新