如何将DocumentSnapshot传递给FutureBuilder以显示数据

时间:2020-04-24 23:47:10

标签: firebase flutter google-cloud-firestore

我是新开发人员,所以我需要一些帮助,我需要获取我在firestore中数据库中拥有的所有文档名称,因此我构建了一个函数,该函数可以显示单击“测试”按钮时存在的所有文档,它可以正常工作将该函数返回给FutureBuilder或其他东西以将这些文档打印到listview,但是在我的代码中,CircleProgressIndicator向我返回aloes data.documentID == null…。我尝试过,但是我做不到

这是我的代码

Future<DocumentSnapshot> getallDocument() async {
  final QuerySnapshot result = await Firestore.instance
      .collection("Institute")
      .document(widget.id)
      .collection("Ravs")
      .getDocuments();
  final List<DocumentSnapshot> documents = result.documents;

  documents.forEach((data) {
    print(data.documentID);
    return data.documentID;
  });
}

这是我的FutureBuilder,很累

Widget build(BuildContext context) {
  // TODO: implement build
  return FutureBuilder<DocumentSnapshot>(
    future: getallDocument(),
    builder: (context, AsyncSnapshot<DocumentSnapshot> snapshot) {
      if (snapshot.hasError)
        return Center(
          child: Text(snapshot.hasError.toString()),
        );

      return snapshot.hasData
          ? Center(
              child: Text(snapshot.data.documentID),
            )
          : Center(
              child: CircularProgressIndicator(),
            );
    },
  );
}

0 个答案:

没有答案