【问题标题】:A value of type 'Object?' can't be assigned to a variable of type 'Map<String, dynamic>'“对象?”类型的值不能分配给“Map<String, dynamic>”类型的变量
【发布时间】:2021-05-02 12:11:21
【问题描述】:

我正在尝试创建一个在屏幕之间导航的 Navigation RouteFuction,我在 RouterFcatory 函数中发现了这种错误。代码如下。谢谢

RouteFactory _routes() {
    return (settings) {
      final Map<String, dynamic> arguments = settings.arguments;
      Widget screen;
      switch (settings.name) {
        case LocationsRoute:`
          screen = Locations();
          break;
        case LocationDetailRout:
        screen = LocationDetail(arguments['id']);
      }
    };
  }

【问题讨论】:

  • 清楚地提及您的错误,并且数据类型之间似乎存在匹配。
  • 什么是settings.arguments
  • 使用 final Map arguments = Map.from(settings.arguments); 可能有帮助

标签: flutter dart


【解决方案1】:

改变

final Map<String, dynamic> arguments = settings.arguments;

final arguments = settings.arguments as Map<String, dynamic>;

【讨论】:

    猜你喜欢
    • 2022-12-17
    • 1970-01-01
    • 2021-08-29
    • 2021-10-02
    • 2021-08-17
    • 2020-12-15
    • 2021-10-16
    • 2020-12-13
    相关资源
    最近更新 更多