提问人:Beatle Refractor 提问时间:8/10/2023 更新时间:8/13/2023 访问量:32
ModalRoute.of(context).settings.arguements 始终为 null
ModalRoute.of(context).settings.arguements always null
问:
导航到包含数据的 DetailScreen Navigator.of(context).pushNamed('/detailScren', arguments: “data”);
DetailScreen:在这里,我从模态路由中得到 null。
class DetailScreen extends StatelessWidget {
@override
Widget build(BuildContext context) {
final arguments = ModalRoute.of(context)!.settings.arguements;
print(arguments); // always null
return Scaffold(
body: Container(),
);
}
以下是 main.dart 中的应用代码
class App extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
localizationsDelegates: context.localizationDelegates,
supportedLocales: context.supportedLocales,
locale: context.locale,
title: Strings.appName,
theme: CustomTheme.lightTheme,
onGenerateRoute: AppRoutes.generateRoute,
home: MainScreen(),
);
}
传递和接收参数。
答:
0赞
Milton Bueno
8/10/2023
#1
你写了
ModalRoute.of(context)!.settings.arguements;
这是一个错别字:参数,而不是参数。
1赞
Alberto Fecchi
8/10/2023
#2
该方法不同于将参数直接传递到路由。您应该直接在以下位置管理参数:https://docs.flutter.dev/cookbook/navigation/navigate-with-arguments#alternatively-extract-the-arguments-using-ongeneraterouteonGenerateRoute
onGenerateRoute
评论