📅  最后修改于: 2023-12-03 14:44:33.294000             🧑  作者: Mango
Navigator push named 是一种使用 Flutter 框架中的导航器进行页面跳转的方法。这个方法的作用是将一个新的页面推入导航器栈中,并给它一个唯一的名称,在其他地方通过这个名称进行页面跳转。
Navigator.pushNamed(context, '/newPage', arguments: {'name': 'Kathy'});
以上示例代码是在 Flutter 中使用 Navigator push named 进行页面跳转的基本方式。其中 '/newPage'
是新页面的名称,可以在其他地方被调用; arguments
参数是传递给新页面的参数,可以在新页面中获取。
除了基本的页面跳转外,Navigator push named 还提供了丰富的功能,以下是一些常用的功能列表:
Navigator.pushNamed(context, '/newPage', arguments: {'name': 'Kathy'});
class NewPage extends StatelessWidget {
@override
Widget build(BuildContext context) {
Map data = ModalRoute.of(context).settings.arguments;
return Scaffold(
appBar: AppBar(
title: Text('Welcome ${data['name']}'),
),
body: Center(
child: Text('Welcome ${data['name']}'),
),
);
}
}
Navigator.pushReplacementNamed(context, '/newPage');
Navigator.pushNamedAndRemoveUntil(context, '/', (route) => false);
Navigator.pushNamed(context, '/newPage', arguments: {'name': 'Kathy'});
class NewPage extends StatelessWidget {
@override
Widget build(BuildContext context) {
Map data = ModalRoute.of(context).settings.arguments;
return Scaffold(
appBar: AppBar(
title: Text('Welcome ${data['name']}'),
),
body: Center(
child: Text('Welcome ${data['name']}'),
),
);
}
}
Navigator.pushReplacementNamed(context, '/newPage');
Navigator.pushNamedAndRemoveUntil(context, '/', (route) => false);
# Navigator Push Named
Navigator push named 是一种使用 Flutter 框架中的导航器进行页面跳转的方法。这个方法的作用是将一个新的页面推入导航器栈中,并给它一个唯一的名称,在其他地方通过这个名称进行页面跳转。
## 使用方式
Navigator.pushNamed(context, '/newPage', arguments: {'name': 'Kathy'});
以上示例代码是在 Flutter 中使用 Navigator push named 进行页面跳转的基本方式。其中 `'/newPage'` 是新页面的名称,可以在其他地方被调用; `arguments` 参数是传递给新页面的参数,可以在新页面中获取。
## 丰富的功能
除了基本的页面跳转外,Navigator push named 还提供了丰富的功能,以下是一些常用的功能列表:
### 传递参数
Navigator.pushNamed(context, '/newPage', arguments: {'name': 'Kathy'});
### 接收参数
class NewPage extends StatelessWidget { @override Widget build(BuildContext context) { Map data = ModalRoute.of(context).settings.arguments; return Scaffold( appBar: AppBar( title: Text('Welcome ${data['name']}'), ), body: Center( child: Text('Welcome ${data['name']}'), ), ); } }
### 页面替换
Navigator.pushReplacementNamed(context, '/newPage');
### 返回根页面
Navigator.pushNamedAndRemoveUntil(context, '/', (route) => false);
## 示例代码
Navigator.pushNamed(context, '/newPage', arguments: {'name': 'Kathy'});
class NewPage extends StatelessWidget { @override Widget build(BuildContext context) { Map data = ModalRoute.of(context).settings.arguments; return Scaffold( appBar: AppBar( title: Text('Welcome ${data['name']}'), ), body: Center( child: Text('Welcome ${data['name']}'), ), ); } }
Navigator.pushReplacementNamed(context, '/newPage');
Navigator.pushNamedAndRemoveUntil(context, '/', (route) => false);