Flutter 跳转后不允许返回

如果在 Flutter 中使用 Navigator.pushNamed(context, '/'),默认情况下它会将新的页面压入栈中,这样用户可以按返回键返回上一页。但如果你不想让用户返回,而是直接跳转到 / 并清除导航栈,可以使用 pushReplacementNamed 或 pushNamedAndRemoveUntil。

1. pushReplacementNamed(替换当前页面)

dart 复制代码
Navigator.pushReplacementNamed(context, '/');

效果:

  • 替换当前页面为 /。
  • 用户无法返回到上一个的页面。

2. pushNamedAndRemoveUntil(清空导航栈)

如果你想彻底清除历史记录,防止用户返回,可以这样做:

dart 复制代码
Navigator.pushNamedAndRemoveUntil(context, '/', (route) => false);

效果:

  • 清除所有导航栈中的页面,只留下 / 这个页面。
  • 用户完全无法返回。
相关推荐
LucianaiB1 小时前
【元宝搜索开发者征文大赛】AI时代,学得慢就不用学?用元宝搜索打造一个教程保质期,确保每一个教程符合你的现状
前端·人工智能·ai编程
好的佩奇2 小时前
Dart 之扩展类型
android·flutter·dart
excel2 小时前
JavaScript 对象池:减少高频对象创建与 GC 压力
前端
陈随易3 小时前
纯 Go 写的 JS 引擎,跑分超过了 C 语言的 QuickJS
前端·后端·程序员
子兮曰5 小时前
Chrome 权限元素实战:144 与 151 的渐进增强写法
前端·javascript·chrome
IT_陈寒5 小时前
Redis连接池泄漏那次,我差点把生产环境搞崩了
前端·人工智能·后端
强尼银手5 小时前
我花一天做了个格斗游戏原型,判定全对,然后被「美术」劝退了
前端·javascript
石小石Orz5 小时前
AI 正在蚕食我们的编码能力
前端·后端·算法
陈随易6 小时前
专注飞机 FocusFlight,两个人把番茄钟做成了一趟航班
前端·后端·程序员
总要学点什么7 小时前
第98篇:三维特效-材质线效果——给一条线换十种材质,虚线的图案只填了一半
开发语言·前端·javascript·ecmascript·gis·webgl·材质