【问题标题】:The argument type 'Object' can't be assigned to the parameter type 'Map<String, dynamic>?参数类型“Object”不能分配给参数类型“Map<String, dynamic>?
【发布时间】:2021-07-28 01:31:05
【问题描述】:

我遇到了这个错误:

The argument type 'Object' can't be assigned to the parameter type 'Map<String, dynamic>?

在这行代码中:

 listMakans = query.docs.map((m) => Makan.fromSnapshot(m.data()!)).toList();

这是 (Makan.fromSnapshot) 的代码:

Makan.fromSnapshot(Map<String, dynamic>? snapshot)
      : id = snapshot!['id'],
        owner = snapshot['owner'],
        category = snapshot['category'],
        hobby = snapshot['hobby'],
        business = snapshot['business'],
        title = snapshot['title'],
        details = snapshot['details'],
        latlng = snapshot['latlng'],
        from = snapshot['from'].toDate(),
        to = snapshot['to'].toDate(),
        created = snapshot['created'].toDate(),
        updated = snapshot['updated'].toDate();

我不明白这里的对象在哪里?

【问题讨论】:

    标签: flutter object


    【解决方案1】:
    listMakans = query.docs.map((m) => Makan.fromSnapshot(m.data() as Map<String, dynamic>?)).toList();
    

    【讨论】:

      【解决方案2】:

      中删除?
      Makan.fromSnapshot(Map<String, dynamic>
      

      这个(m.data()!)) 是错误中的对象。

      【讨论】:

      • 但我试图删除它,同样的问题,代码可以正常工作,但升级一些插件后,我遇到了这个问题
      • 不行,去你的工厂 Makan.fromSnapshot 去掉问号。
      • 从您的方法中删除问号应该会改变错误。它可能来自其他地方。
      猜你喜欢
      • 2021-08-03
      • 2021-11-07
      • 2021-08-29
      • 2021-10-02
      • 2020-12-15
      • 2021-03-23
      • 2021-05-17
      • 2021-08-20
      相关资源
      最近更新 更多