路由与导航

Flutter 教程 · 第 6 章 · 6 次浏览

Flutter 页面跳转用 Navigator:push 进入新页面、pop 返回、pushNamed 按名字跳(先注册路由表)。页面间传参在构造时传。

Navigator 基础

Navigator.push(context, MaterialPageRoute(builder: (_) => DetailPage(id: 1))) 进入;Navigator.pop(context) 返回;返回时带结果 pop(context, 结果)。

命名路由

MaterialApp 的 routes 注册页面,Navigator.pushNamed(context, "/detail", arguments: id) 跳转,onGenerateRoute 统一处理。

代码示例

// 直接跳转 + 传参
Navigator.push(
  context,
  MaterialPageRoute(
    builder: (_) => DetailPage(productId: 1001),
  ),
);

// 返回并带结果
Navigator.pop(context, "已选择");

// 命名路由方式
// MaterialApp(routes: {
//   "/detail": (context) => const DetailPage(),
// })
// Navigator.pushNamed(context, "/detail", arguments: 1001);

// DetailPage 接收
// final int productId = ModalRoute.of(context)!.settings.arguments as int;