尝试使用类型转换获取Firestore快照

时间:2019-09-26 21:48:42

标签: flutter dart

我正在尝试从Firestore获取一些格式化的数据,但出现此错误:

引发了另一个异常:类型'_InternalLinkedHashMap'不是强制类型转换中'商店'的子类型

这是我的班级代码。

class StoreInterface {
  String name;
  String address;
}

class Store{

  Store data;

  Store.fromDocument(DocumentSnapshot snapshot){

    StoreInterface data = snapshot.data as StoreInterface
  }
}

1 个答案:

答案 0 :(得分:0)

snapshot.dataMap<String, dynamic>,不能转换为StoreInterface

我建议将构造函数添加到StoreInterface中,以接收地图。

class StoreInterface {

  String name;
  String address;

  StoreInterface.fromMap(Map<String, dynamic> data)
    : name = data['name'],
      address = data['address'];
}

像这样使用它:

StoreInterface data = StoreInterface.fromMap(snapshot.data);