查询可用时的新数据,删除参数更改后的旧数据;

时间:2019-06-30 14:21:30

标签: firebase flutter google-cloud-firestore

在flutter应用程序中,我从Firestore数据库中获取数据,然后在Listview.builder中显示此数据。我想要实现的是在可用时查询新数据,并在其“父”文档的“活动”字段设置为false时删除旧的小部件。

所以它应该是非常异步的,并且到目前为止,我还没有找到我知道可以帮助我解决该问题的任何信息来源,因此高度赞赏。

1 个答案:

答案 0 :(得分:0)

好!

做了一个简单的函数,放入了初始化状态类

listener() async{
query.snapshots().listen((querySnapshot){
    querySnapshot.documentChanges.forEach((changes){
      print('change occured');
      if(changes.document.data['finished'] == 'false'){
        setState(() {
                  fetchedData.add(changes.document);
        });
      }
        if(changes.document.data['finished'] == 'true'){
                setState(() {
      fetchedData.remove(fetchedData[fetchedData.indexWhere((e)=>e.data['DocumentNumber'] == changes.document.data['DocumentNumber'])]);
       finishOrderFunction();
            });
        }

    });
  });
}