flutter 如何导航至屏幕并删除所有屏幕/路线历史记录[注销功能]

fiei3ece  于 2023-05-19  发布在  Flutter
关注(0)|答案(2)|浏览(149)

如何导航到屏幕并删除所有以前的路由历史记录,以便用户无法按下“返回”按钮并返回上一个屏幕?
在我的例子中,我想在用户注销时推送登录屏幕,但导航历史记录仍然存在,因此用户只需按下“后退”按钮即可返回到上一页。

What I have:
A -> B -> C       //Before signing out
A -> B -> C -> L  //After signing out

What I want:
A -> B -> C       //Before signing out
L                 //After signing out
5f0d552i

5f0d552i1#

按到新屏幕并删除所有先前屏幕

Navigator.pushAndRemoveUntil(context, MaterialPageRoute(builder: (context) => LoginPage(),), (route) => false);

推送至新路由并删除所有以前的路由

Navigator.pushNamedAndRemoveUntil(context, login_page_route, (route) => false);

pushAndRemoveUntil将删除所有现有路由并推送到新页面。

5f0d552i

5f0d552i2#

Navigator.of(context).popUntil(ModalRoute.withName('L'));

相关问题