0
点赞
收藏
分享

微信扫一扫

Navigator路由返回push/pop的使用

萍儿的小确幸 2021-10-09 阅读 48
Flutter
  1. 根目录push到页面一
Navigator.of(context, rootNavigator: true).push(CupertinoPageRoute(
            builder: (BuildContext context) {
              return new Page1();
            },
            settings: RouteSettings(name: "/page1"),
          ));

其中ofrootNavigatortrueroute中使用settings来设置页面一的routename,便于以后pop到当前页面。

  1. 页面一push到页面二
Navigator.of(context).push(CupertinoPageRoute(
            builder: (BuildContext context) {
              return new Page2();
            },
            settings: RouteSettings(name: "/page2"),
          ));
  1. 页面二push到页面三
Navigator.of(context).push(CupertinoPageRoute(
            builder: (BuildContext context) {
              return new Page3();
            },
            settings: RouteSettings(name: "/page3"),
          ));
  1. 页面三pop到根目录
Navigator.of(context).popUntil(ModalRoute.withName('/'));

Navigator.of(context).popUntil((r) => r.settings.isInitialRoute);
  1. 页面三pop到上一个页面
Navigator.of(context).pop();
  1. 页面三pop到页面二
Navigator.of(context).popUntil(ModalRoute.withName('/page2'));
  1. 页面三pop到页面一
Navigator.of(context).popUntil(ModalRoute.withName('/page1'));
举报

相关推荐

0 条评论