Flutter pop到指定页面

遇到一个指定返回问题这里记录一下

需求:登录页->首页->功能页->详情页 <=> 详情页->首页

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

如上代码pop后回到的是登录页,这里‘/’是指回到的根,也就是最初的那一层,所以需要处理一下,在.main 中 加入路由

return MaterialApp(
  routes: {
    "/home": (BuildContext context) => HomeView(),
    "/rec": (BuildContext context) => ReceiveCar(),
    "/atwork": (BuildContext context) => AtWorkView(),
    "/working": (BuildContext context) => WorkingView(),
  },

在登录方法里

 Navigator.push(
                                  context,
                                  MaterialPageRoute(
                                      settings:
                                          RouteSettings(name: "/home"),
                                      builder: (context) => HomeView()),
                                );

在返回pop 方法里

Navigator.popUntil(
              context,
              ModalRoute.withName(
                  SynchronizePreferences.Get('autoLogin') == null
                      ? '/'
                      : '/home'));

其中 SynchronizePreferences.Get('autoLogin')适用于判断是否是自动登录

你可能感兴趣的:(Flutter pop到指定页面)