不能将 'Object?' 类型的值分配给类型为"Map<dynamic, dynamic>"的变量。这是一个路由错误



错误是当我尝试使用ModalRoute.of(context).settings。参数,我得到一个错误。我还想把它保存在地图中,但是不能。

Map data = {};
data = ModalRoute.of(context).settings.arguments; // this is the error;

错误:Object类型的值?'不能赋值给类型为'Map<dynamic,>'的变量。

  • 'Object'来自'dart:core'.
  • 'Map'来自'dart:core'。
  • ModalRoute.of(context).settings.arguments;

经过这么多的问题,最后,解决方法竟然如此简单。

Map data = {};
data = ModalRoute.of(context).settings.arguments as Map; 

尝试使用:

data=ModalRoute.of(context)?.settings?.arguments as Map;

?用于零安全

经过大量的搜索,这个结尾作品

Map data = {};
data = ModalRoute.of(context)?.settings.arguments as Map;

可以使用下面的代码:

Map <String, Object>data = {}; // as the arguments passed from 
data = {"dataKey":ModalRoute.of(context).settings.arguments};

之后,通过调用

访问你的参数data["dataKey"]// it will return the arguments

我正面临着类似的问题,我认为这个解决方案会帮助你

Map data = ModalRoute.of(context)!.settings.arguments as Map;

将以下代码放入StatefulWidget类

Map userdata = {};
userdata = ModalRoute.of(context)!.settings.arguments as Map;
print(userdata);

你的输出看起来像这样

flutter: {firstName: Dhaval, lastname: Gevariya}
  1. 定义参数如下:

    类productdetailsargarguments {最终产品产品;

    ProductDetailsArguments({要求this.product});

    }

  2. 提取如下参数

    final args = ModalRoute.of(context)!

为了解决这个问题,我做了:

Map <String,>数据= {};data = ModalRoute.of(context).settings。参数为Map<String,>;

相关内容

  • 没有找到相关文章

最新更新