dart - Flutter 移除所有路由

我想开发一个注销按钮,它会将我发送到登录路径并从 Navigator 中删除所有其他路径。该文档似乎没有解释如何制作 RoutePredicate 或具有任何类型的 removeAll 功能。

最佳答案

我能够使用以下代码完成此操作:

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

这里的 secret 是使用一个总是返回 false (Route<dynamic> route) => false 的 RoutePredicate .在这种情况下,它会删除除新的 /login 之外的所有路由。我推的路线。

https://stackoverflow.com/questions/45889341/

相关文章:

git - flutter 安装期间的libusbmuxd版本错误

flutter - 如何在 flutter 中使用进度指示器?

flutter - 有多个英雄在子树中共享相同的标签

flutter - InkWell 没有显示涟漪效应

flutter - 在 Flutter 中延迟一段时间后如何运行代码?

dart - 如何将非字符串数据传递给 Flutter 中的命名路由?

flutter - 更改项目名称

flutter - 如何获取 Widget 的高度?

flutter - 如何在 flutter 中为文本加下划线

functional-programming - Dart:映射列表(list.map)