gpt4 book ai didi

dart - 使用 Navigator.pushNamed 导航时如何发送参数

转载 作者:IT王子 更新时间:2023-10-29 06:36:00 26 4
gpt4 key购买 nike

我需要将一些参数发送到命名路由。我想做类似的事情:

Navigator.pushNamed('/route/1');

或者

Navigator.pushNamed('/route?param1=1');

我不知道是否有办法做到这一点,我正在使用带有路由器的 MaterialApp。

最佳答案

第一种方式是我在我的应用程序中使用的方式。

Navigator.pushNamed('/route/1');

不要忘记使用 onGenerateRoute 并传递值。我的应用程序示例:

routes: {
'/': (BuildContext context) => AuthPage(),
'/products': (BuildContext context) => ProductsPage(''),
'/admin': (BuildContext context) =>
ProductsAdminPage(_addProduct, _deleteProduct),
},
onGenerateRoute: (RouteSettings settings) {
final List<String> pathElements = settings.name.split('/');
if (pathElements[0] != '') {
return null;
}
if (pathElements[1] == 'product') {
return MaterialPageRoute<bool>(
builder: (BuildContext context) => ProductPage(pathElements[2]),
);
}
return null;
},
onUnknownRoute: (RouteSettings settings) {
return MaterialPageRoute(
builder: (BuildContext context) => ProductsPage('Error'));
},

关于dart - 使用 Navigator.pushNamed 导航时如何发送参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54190196/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com