Flutter导航基础 #
一、Navigator #
1.1 基本概念 #
Navigator管理页面栈,通过push和pop操作实现页面跳转。
1.2 push操作 #
dart
Navigator.push(
context,
MaterialPageRoute(builder: (context) => SecondPage()),
);
1.3 pop操作 #
dart
Navigator.pop(context);
1.4 pushReplacement #
dart
Navigator.pushReplacement(
context,
MaterialPageRoute(builder: (context) => HomePage()),
);
1.5 pushAndRemoveUntil #
dart
Navigator.pushAndRemoveUntil(
context,
MaterialPageRoute(builder: (context) => HomePage()),
(route) => false,
);
二、页面传参 #
2.1 构造函数传参 #
dart
class DetailPage extends StatelessWidget {
final String id;
const DetailPage({required this.id});
@override
Widget build(BuildContext context) {
return Text('Detail: $id');
}
}
Navigator.push(
context,
MaterialPageRoute(builder: (context) => DetailPage(id: '123')),
);
2.2 返回数据 #
dart
final result = await Navigator.push(
context,
MaterialPageRoute(builder: (context) => SelectPage()),
);
Navigator.pop(context, 'Selected Item');
三、总结 #
3.1 核心方法 #
| 方法 | 说明 |
|---|---|
| push | 入栈新页面 |
| pop | 出栈当前页面 |
| pushReplacement | 替换当前页面 |
| pushAndRemoveUntil | 清空栈并跳转 |
3.2 下一步 #
让我们学习 命名路由!
最后更新:2026-03-28