📜  navigator push named (1)

📅  最后修改于: 2023-12-03 14:44:33.294000             🧑  作者: Mango

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);
Markdown 格式代码片段
# 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);