颤振返回首页

时间:2018-07-27 10:41:18

标签: dart flutter

我制作了一个具有很多路由的应用程序,一个接一个地推送多个全屏对话框。但是我想从一个对话框中关闭所有对话框并返回到主页。我该怎么办?

我不想再次推送主页,因为那样,我的导航历史记录中仍然包含所有这些对话框。 pushReplacement是否正确?似乎不是因为它只删除了导航历史记录中的最后一个条目,所以如果我按回去,则会进入倒数第二个对话框...

3 个答案:

答案 0 :(得分:1)

使用popUntil返回所需的位置。如果它是主页,则应该可以:

Navigator.popUntil(context, ModalRoute.withName('/'));

答案 1 :(得分:0)

对于首页,它可以在任何其他页面上使用。

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

答案 2 :(得分:0)

如果您不使用命名路由:

Navigator.of(context).popUntil((route) => route.isFirst);