将参数传递给 pushnamed 但在接收器小部件中在颤振中给出 null

时间:2021-06-04 04:41:07

标签: flutter flutter-layout

我将数据从一个小部件发送到另一个小部件输入了值,但是当我转到下一个小部件或接收器小部件时,它给了我空值我尝试了 s.o.f 的所有答案,但没有任何效果。我使用的是稳定版 2.1。

发件人小部件

         routes: {
    '/result': (context) => LoginScreen(),
  },

      Navigator.pushNamed(context, '/result',arguments: {
                'weight':count,
                'height':heights,
              });

接收器小部件:

              final  argument= ModalRoute.of(context)!.settings.arguments as Map;
print(argument['weight']);

这是我在接收器小部件上遇到的错误“类型 null 不是类型转换中类型映射的子类型”

2 个答案:

答案 0 :(得分:1)

材料应用

  routes: {
    '/result': (context) => LoginScreen(),
  }

导航

 Navigator.pushNamed(context, '/result', arguments: {
    'weight': count,
    'height': heights,
 });

登录屏幕()

final argument = ModalRoute.of(context)!.settings.arguments as Map<String, dynamic>;
print(argument['weight']);

答案 1 :(得分:0)

在路线页面,试试这个:

TestPage.routeName: (context) => TestPage(),

打电话时,试试这个:

Navigator.pushNamed(context, TestPage.routeName)