Flutter 跳转后不允许返回

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

1. pushReplacementNamed(替换当前页面)

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

效果

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

2. pushNamedAndRemoveUntil(清空导航栈)

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

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

效果

  • 清除所有导航栈中的页面,只留下 / 这个页面。
  • 用户完全无法返回。
相关推荐
灵感__idea7 小时前
Hello 算法:让前端人真正理解算法
前端·javascript·算法
向葭奔赴♡8 小时前
CSS是什么?—— 网页的“化妆师”
前端·css
黑犬mo8 小时前
在Edge、Chrome浏览器上安装uBlock Origin插件
前端·edge
excel8 小时前
🧩 Vue 3 watch 源码详解(含完整注释)
前端·javascript·vue.js
大前端helloworld8 小时前
前端梳理体系从常问问题去完善-网络篇
前端·面试
excel8 小时前
🌿 一文看懂 Vue 3 的 watch 源码:从原理到流程
前端
繁依Fanyi9 小时前
让工具说话:我在 Inspira Board 里用 AI 把“能用、好用、可复用”落成了日常
前端
weixin_4569042710 小时前
C# 中的回调函数
java·前端·c#
kura_tsuki10 小时前
[Web网页] LAMP 架构与环境搭建
前端·架构
yinuo10 小时前
UniApp+Vue3多分包引入同一 npm 库被重复打包至 vendor 的问题分析与解决
前端