You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Flutter导航至其他页面后如何彻底关闭对话框返回不重现?

解决方案

问题根源是你先执行页面跳转,等跳转完成后才关闭对话框,导致返回原页面时会先看到对话框,再触发关闭逻辑,所以出现短暂显示的情况。

正确的做法是先关闭对话框,再发起页面跳转,这样原页面的对话框已经被关闭,返回时就不会再出现:

// 点击Next按钮时的逻辑
Navigator.of(context).pop(); // 先关闭对话框
Navigator.pushNamed(context, RouteNames.variantScreen,
    arguments: product.id.toString());

如果需要在关闭对话框时传递返回值(比如你原代码里的pop(true)),可以把返回值放在pop里,再执行跳转:

Navigator.of(context).pop(true); // 关闭对话框并传递返回值
Navigator.pushNamed(context, RouteNames.variantScreen,
    arguments: product.id.toString());

这样调整后,对话框会在跳转前就被关闭,返回原页面时不会有对话框残留,也不会出现短暂显示的问题。

内容的提问来源于stack exchange,提问作者Ali

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.01 22:20:40