如何在不将旧根保存在堆栈中的情况下切换到新根?
Posted
技术标签:
【中文标题】如何在不将旧根保存在堆栈中的情况下切换到新根?【英文标题】:how to switch to a new root in flutter without saving the old one in the stack? 【发布时间】:2021-06-12 18:15:35 【问题描述】:根据文档:
要切换到新路由,请使用 Navigator.push() 方法。推() 方法将 Route 添加到由 Navigator 管理的路由堆栈中。
但这会导致一个问题,好像我点击后退按钮会让我回到第一个屏幕根目录,那么我该如何防止呢?当我更改根目录时,我不希望将旧的根目录保存在根堆栈中
Navigator.push(
context, MaterialPageRoute(builder: (context) => HomeScreen()));
【问题讨论】:
【参考方案1】:使用
Navigator.pushReplacement(context, MaterialPageRoute(builder: (context) => HomeScreen()))
从文档中我们看到这种方法会
通过推送给定路线替换导航器的当前路线,然后在新路线完成动画处理后处理先前的路线。
【讨论】:
谢谢你,很高兴它有帮助:)以上是关于如何在不将旧根保存在堆栈中的情况下切换到新根?的主要内容,如果未能解决你的问题,请参考以下文章
如何在不将数据保存到数据库的情况下更新 Gridview 行
C#如何在不知道新数组长度的情况下将数组中的值保存到新数组中
如何在不将文件保存在本地存储上的情况下将对象传输到 Azure Blob 存储?