Flutter 跳转后不允许返回

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

1. pushReplacementNamed(替换当前页面)

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

效果

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

2. pushNamedAndRemoveUntil(清空导航栈)

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

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

效果

  • 清除所有导航栈中的页面,只留下 / 这个页面。
  • 用户完全无法返回。
相关推荐
五号厂房22 分钟前
仿照AntDesign,实现一个自定义Tab
前端
Bob999830 分钟前
三大浏览器(Firefox、Opera、Chrome)多个Profile管理!
开发语言·javascript·eclipse·sqlite·ecmascript·hbase
Frankabcdefgh38 分钟前
前端面试 js
开发语言·javascript·原型模式
Billy_Zuo40 分钟前
Android Studio中创建第一个Flutter项目
android·flutter·android studio
浏览器爱好者1 小时前
如何删除Google Chrome中的所有历史记录【一键清除】
前端·chrome
埃兰德欧神1 小时前
三分钟让你的H5变身‘伪原生’,揭秘H5秒变应用的魔法配置
javascript·html·产品
米开朗基杨1 小时前
Cursor 最强竞争对手来了,专治复杂大项目,免费一个月
前端·后端
Lonwayne1 小时前
Web服务器技术选型指南:主流方案、核心对比与策略选择
运维·服务器·前端·程序那些事
学习机器不会机器学习1 小时前
深入浅出JavaScript常见设计模式:从原理到实战(1)
开发语言·javascript·设计模式
hax1 小时前
deepseek-R1 理解代码能力一例
javascript·deepseek