首页 > 解决方案 > Flutter注销以删除所有路由

问题描述

下面是我的应用小部件树。如果用户未登录,则显示登录页面,如果用户已登录,则显示工作页面。在帐户页面上我有注销按钮。注销按钮实现推送替换并显示登录页面。

问题是 - 当用户再次单击后退按钮时,工作页面会显示。如何从小部件树中删除所有路由并仅在注销操作后显示登录页面?

注意 - 我没有使用命名路由,只是 Push 、 Pop 和 Replacement

在此处输入图像描述

标签: flutter

解决方案


如果你正在使用namedRoutes,你可以通过简单地做到这一点:

Navigator.pushNamedAndRemoveUntil(context, "/login", (Route<dynamic> route) => false);

"/login"您要在路由堆栈上推送的路由在哪里。

注意 :

此语句删除堆栈中的所有路由,并使推送的路由成为根。


推荐阅读