Flutter入门:如何只关闭自身页面
Posted BennuCTech
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Flutter入门:如何只关闭自身页面相关的知识,希望对你有一定的参考价值。
flutter的路由管理很方便,push和pop就可以了,但是pop只能关闭栈顶的页面,在某些需求中就显得力不从心了。
比如我们有一个倒计时弹窗(flutter中弹窗其实也是页面),倒计时结束后关闭。但是在弹出倒计时后,我们又弹出另外一个弹窗,这时候如果倒计时结束调用pop,只会将新的弹窗关闭,而倒计时弹窗则无法关闭了。
所以我们希望倒计时弹窗关闭自身,而不影响栈中其他页面。所以不能直接使用pop,而是用removeRoute,代码如下:
Navigator.of(context).removeRoute(ModalRoute.of(context));
这样就会关闭自身页面。
flutter的Navigator提供了更多样的路由操作,如下:
removeRouteBelow(Route<dynamic> anchorRoute) //移除anchorRoute下面的那一个页面
popUntil(RoutePredicate predicate) //会一直pop页面,直到predicate返回true
当然push和replace也有类似的操作,这里就不细说了。
关注公众号:BennuCTech,获取更多干货!
以上是关于Flutter入门:如何只关闭自身页面的主要内容,如果未能解决你的问题,请参考以下文章
我们如何使用 Flutter 中的底部导航栏触发有状态小部件以通过导航重建自身?
Flutter Webview - 如何在页面上添加更多链接或元素?