无法将参数类型“Object”分配给参数类型“Map<String, dynamic>?

时间:2021-05-05 17:35:34

标签: flutter object

我遇到了这个错误:

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();

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

2 个答案:

答案 0 :(得分:2)

listMakans = query.docs.map((m) => Makan.fromSnapshot(m.data() as Map<String, dynamic>?)).toList();

答案 1 :(得分:1)

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

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