Flutter 路由(Navigator)

普通路由:

导航到新的页面

           //导航到新页面
              Navigator.push(
                context,
                MaterialPageRoute(
                  builder: (context) => const Homeb(),
                  // settings: const RouteSettings(name: '/home'),
                ),
              );

进入下一个页面,但没有返回上一个页面的选项(用于SplashScreens,登录页面等)

                //导航到新页面
                Navigator.pushReplacement(
                  context,
                  MaterialPageRoute(
                    builder: (context) => const Homec(),
                    // settings: const RouteSettings(name: '/home'),
                  ),
                );

进入下一个界面并取消之前的所有路由(在购物车、投票和测试中很有用)

//导航到新页面
Navigator.pushAndRemoveUntil(
context,
MaterialPageRoute(
builder: (context) => const Homec(),
// settings: const RouteSettings(name: '/home'),
),
(route) => false);

命名路由:

导航到下一个页面

  //导航到新页面
 Navigator.pushNamed(context, '/homeb');

浏览并删除前一个页面

//导航到新页面
Navigator.pushReplacementNamed(context, '/homec');

浏览并删除所有以前的页面

 //导航到新页面
Navigator.pushNamedAndRemoveUntil(context, '/homec',
(route) => route.settings.name == '/homec');

关闭当前页面

//返回上一个页面
Navigator.pop(context);
//pop 第二个为可选参数,可以用来传值给上一个界面

接收上一个页面传递的参数

//接收上一个路由传递的参数
ModalRoute.of(context)?.settings.arguments
//传递过来的路由名称
ModalRoute.of(context)?.settings.name
THE END
喜欢就支持一下吧
点赞0 分享