📜  Navigator .push (1)

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

Navigator.push

Navigator.push是Flutter中路由导航器的一种方法,用于将新路由推入导航堆栈。这是一种强大的功能,允许开发人员在应用程序中实现复杂的导航逻辑。

语法
Future<T?> Navigator.push<T extends Object?>(
  BuildContext context,
  Route<T> route
)

参数:

返回值:

  • 返回一个Future对象,表示新路由页面的返回值。如果该新路由被弹出,则该Future对象将被解析为新路由返回时的返回值(可选参数)。
实例

以下是一个简单的实例,展示如何使用Navigator.push在Flutter中推入新的路由。

class MyHomePage extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text('My Home Page'),
      ),
      body: Center(
        child: ElevatedButton(
          child: Text('Open Route'),
          onPressed: () {
            Navigator.push(
              context,
              MaterialPageRoute(builder: (context) => MyRoutePage()),
            );
          },
        ),
      ),
    );
  }
}

在上面的代码中,我们创建了一个名为MyHomePage的无状态组件,并在其中包含一个ElevatedButton,当用户点击该按钮时,会将新的路由推入导航堆栈。

class MyRoutePage extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text('My Route Page'),
      ),
      body: Center(
        child: ElevatedButton(
          child: Text('Go Back'),
          onPressed: () {
            Navigator.pop(context);
          },
        ),
      ),
    );
  }
}

在上面的代码中,我们创建了一个名为MyRoutePage的无状态组件,并在其中包含一个ElevatedButton,当用户点击该按钮时,会弹出当前的路由并返回到之前的页面。

结论

Navigator.push是Flutter中路由导航器的一种方法,它允许开发者在应用程序中实现复杂的导航逻辑。在使用该方法时,需要传递BuildContext和Route对象作为参数。该方法返回一个Future对象,表示新路由页面的返回值。开发人员可以使用Navigator.pop方法来弹出新的路由并返回先前的页面。