Flutter 如何将数组重新运行到列表视图

Flutter 如何将数组重新运行到列表视图,flutter,google-cloud-firestore,Flutter,Google Cloud Firestore,我有一个查询子集合中数组的函数单击它测试按钮时工作正常显示数据很好,但我需要将数据返回到列表视图如何执行此操作 函数获取数据 Future < List > getsubcollcation() async { List Rav; final firestoreInstance = Firestore.instance; firestoreInstance.collection("Institute").document(widget.id_document

我有一个查询子集合中数组的函数单击它测试按钮时工作正常显示数据很好,但我需要将数据返回到列表视图如何执行此操作

函数获取数据

Future < List > getsubcollcation() async {
    List Rav;
    final firestoreInstance = Firestore.instance;

    firestoreInstance.collection("Institute").document(widget.id_document).collection("Ravs").where('Rav name', isEqualTo: 'English').snapshots().listen((snapshot) {
        Rav = snapshot.documents.toList();
    });
    return Rav;
}
Futuregetsubcollection()异步{
列出Rav;
final firestoreInstance=Firestore.instance;
firestoreInstance.collection(“Institute”).document(widget.id_document).collection(“Ravs”).where('Rav name',isEqualTo:'English').snapshots().listen((快照){
Rav=snapshot.documents.toList();
});
返回Rav;
}

因此,您返回的不是列表小部件,而是未来的小部件。您必须将Listview放入FutureBuilder小部件中。传递将Future作为“Future”参数返回的函数。然后编写一个生成器函数, 首先检查Future是否有数据(如果(Future.Connectionstate==Connectionstate.done)), 然后,您可以返回一个列表视图,将Future.data作为“children”参数放在其中