如何清除Flutter中的导航堆栈

时间:2020-01-09 11:02:54

标签: flutter

我希望我的应用程序具有欢迎屏幕,并带有注册和登录选项。当我点击“注册”按钮导航到“注册”屏幕时,我使用:

Navigator.push

当我按下“注册”屏幕中的“后退”按钮时,它必须返回到“欢迎”页面。

但是,在用户完成注册后,我使用主页中的以下代码导航到我的家。

Navigator.pushReplacement

问题是,当我按下“后退”按钮时,我的应用将返回“欢迎”屏幕,而不是停留在主屏幕中。

知道发生了什么吗?

1 个答案:

答案 0 :(得分:9)

导航时,可以使用以下方法清除导航堆栈:

Navigator.of(ctx).pushAndRemoveUntil(YourRoute, (Route<dynamic> route) => false);

第二个参数是谓词,用于确定天气是否将路径从堆栈中删除。

使用此方法,您将在导航到该路线之前清除整个堆栈,这样一来,您将无法返回到欢迎页面。