Flutter 通过命名路游跳转页面

1.定义路由陆游,这里我们建一个存放路游的类:

//定义跳转页面使用
class Routers {
  static String root = "splash";
  static String login = "login";
  static String work = "sork";

  static final routers = {
    root: (context) => const Splash(),
    login: (context) => const Login(),
    work: (context) => const Work(),
  };
}

2.使用路游:

 先要定义路游,再从中设置一个默认的路由作为启动页面,注:home() 和initalRoute不能同时使用,因为会先运行home,这样的话路由设置就失效了。我们可以把home展示的内容放在默认路由里面,因为初始加载是默认路游的页面。

3.路游初始化准备好之后就可以跳转了:

Navigator.pushNamed(context, Routers.login);

从默认路游页面 跳转到 login 页面。

4.携带参数跳转:

Navigator.pushNamed(context, Routers.login,arguments: {"titile":"参数"});

参数是一个Map类型的数据。

下面接收传过来的参数:

Map a=ModalRoute.of(context)?.settings.arguments as Map; //强制类型转换

可以转任何形式的参数。

//对象

PdaMenuVo a=  ModalRoute.of(context)?.settings.arguments as PdaMenuVo;

5.跳转页面并且关闭当前页面:

Navigator.pushNamedAndRemoveUntil(context, Routers.work, (route) => false);

版权声明:本文为shiyangkai原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。