Как передать DocumentSnapshot в FutureBuilder для отображения данных - PullRequest
0 голосов
/ 25 апреля 2020

Я новый разработчик. Мне нужна помощь, мне нужно получить все имена документов, которые есть в моей базе данных в firestore. Поэтому я создал функцию, которая показывает все документы, которые существуют при нажатии кнопки тестирования, она работает нормально Теперь мне нужно чтобы вернуть эту функцию в FutureBuilder или что-то еще, чтобы напечатать эти документы в listview, но в моем коде он возвращает меня CircularProgressIndicator 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(),
            );
    },
  );
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...