导航器路线清除抖动堆栈

时间:2018-06-27 21:51:57

标签: dart flutter

在我的应用程序中,我有三个屏幕:login,verifyotp,generatepass。我知道如何从一页移动到另一页,例如:Navigator.pushNamed(context, "/theNameOfThePage");。 我有一个流程,我从login-> verifyotp-> generatepass移动,现在我的问题是如何从generatepass移至登录页面并清除所有堆栈。 我是一名Android开发人员,因此在android中,我们有intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK);。 我如何在颤抖中获得相同的结果!

3 个答案:

答案 0 :(得分:4)

使用Navigator.popUntil

void _logout() {
  Navigator.popUntil(context, ModalRoute.withName('/login'));
}

答案 1 :(得分:3)

要添加到Paul Iluhin's answer above,如果您想向新页面传递参数,只需在(r) => false之后添加参数。这是一个例子。

Navigator.pushNamedAndRemoveUntil(context, "/newRouteName", (r) => false, arguments: {
  "arg_1": firstArgument,
  "arg_2": secondArgument
});

答案 2 :(得分:0)

完全清除Navigator的历史记录并导航到新路线:

void _logout() {
   Navigator.pushNamedAndRemoveUntil(context, "/newRouteName", (r) => false);
}