跳转至

路由


匿名路由

加入页面

Navigator.push(
    context,
    MaterialPageRoute(
        builder: (context) => 组件(参数),
    ),
)
备注

如果 回退 返回了参数 可以获取到参数


跳转到命名路由

// 常用
Navigator.pushNamed(context, '路由名或路径',arguments: {'字段': '参数'},)

// 跳转后销毁当前页面
Navigator.popAndPushNamed(context, '路由名或路径',arguments: {'字段': '参数'},)

// 销毁之前全部路由 无法返回
Navigator.pushNamedAndRemoveUntil(context, '路由名或路径', (_) => false);

回退

Navigator.pop(context, 参数)
备注

参数是可选到


获取传递参数

Object? postModel = ModalRoute.of(context)?.settings.arguments;

routes

命名路由

void main() {
  runApp(
    MaterialApp(
      title: 'Named Routes Demo',
      initialRoute: '/',  // 初始加入的路由页面
      routes: {
        '/': (context) => const 组件(),
        '/second': (context) => const 组件(),
      },
    ),
  );
}

routes.dart

routes.dart
Map<String, Widget Function(BuildContext)> routes = {
  '/home': (context) => HomePage(),
  '/postDetails': (context) => PostDetailsView(),
};