Flutter从QuerySnapshot转换为将来的<list <map <dynamic,dynamic =“” >>>

时间:2018-06-22 03:26:17

标签: firebase dictionary dart google-cloud-firestore flutter

如何返回QuerySnapshot作为将来>>?

代码段:

Future <List<Map<dynamic, dynamic>>>() {
List<Map<dynamic,dynamic>> list;
.....

.....
QuerySnapshot collectionSnapshot = await collectionRef.getDocuments();

list = collectionSnapshot.documents;  <--- ERROR
return list;

}

我认为我需要使用的Map,但无法绕开它。

1 个答案:

答案 0 :(得分:4)

collectionSnapshot.documents返回列表而不是列表类型,您将需要将文档快照列表转换为列表>。 我是这样的:

Future <List<Map<dynamic, dynamic>>> getCollection() async{
List<DocumentSnapshot> templist;
List<Map<dynamic, dynamic>> list = new List();
CollectionReference collectionRef = Firestore.instance.collection("path");
QuerySnapshot collectionSnapshot = await collectionRef.getDocuments();

templist = collectionSnapshot.documents; // <--- ERROR

list = templist.map((DocumentSnapshot docSnapshot){
  return docSnapshot.data;
}).toList();

return list;
}