Запрос новых данных при их наличии, удаление старых данных об изменении параметров; - PullRequest
0 голосов
/ 30 июня 2019

В моем приложении для флаттера я получаю данные из базы данных Firestore, а затем эти данные отображаются в Listview.builder. Чего я хочу добиться, так это запрашивать новые данные, когда они доступны, и удалять старые виджеты, когда для поля «active» их «родительского» документа установлено значение false.

Так что все должно работать очень асинхронно, и до сих пор я не нашел источника информации, который, как я понял, помог бы мне в решении этой проблемы, поэтому помощь очень ценится.

1 Ответ

0 голосов
/ 30 июня 2019

Готэм!

Сделал простую функцию, которую я поместил в класс состояния init

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();
            });
        }

    });
  });
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...