路由与导航
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;