如何使用自定义类对象列表为Firestore创建地图<string,dynamic =“”>?

时间:2018-06-12 20:28:06

标签: dart google-cloud-firestore flutter

我正在尝试使用firestore为我的应用添加持久性。这似乎是王牌,但我在路上遇到了一个障碍,谷歌搜索似乎让我失望。我认为这可能比firestore更像是一个 dart 问题,所以请根据需要进行编辑!

基本上我的情况类似如下:

class attributes(){
  double xpos, ypos;
  String id;
}

class item(){
  String name;
  int price;
  List<attributes> attributeHistory;
  Map<String, dynamic> toMap(){
    Map<String, dynamic> returnMap = new Map();
    returnMap['name'] = name;
    returnMap['price'] = price;
    returnMap['attributeHistory'] = //what goes here??;
    }
}

那么......那里有什么?我为属性编写了一个.toMap函数,但我不知道它在哪里得到我!

有什么想法吗?

1 个答案:

答案 0 :(得分:1)

创建List Map<String,dynamic>

returnMap['attributeHistory'] = attributeHistory.map((attribute) {
  Map<String,dynamic> attributeMap = new Map<String,dynamic>();
  attributeMap["id"] = attribute.id;
  // same for xpos and ypos
  return attributeMap;
}).toList();