Как использовать startAfter () для получения данных после последнего документа в списке? - PullRequest
3 голосов
/ 22 апреля 2020

Вот как я получаю данные в моем postsList. Как мне запросить данные, чтобы начать после последнего документа в этом списке, который я получу ниже. Что мне точно написать в startAfter () здесь, чтобы получить следующий набор списка, который начинается после предыдущего списка. Пожалуйста, будьте точны об этом.

 Future<List<Post>> get posts async {
    QuerySnapshot snapshot = await postsCollection
        .orderBy('timestamp', descending: true)
         .limit(30)
        .getDocuments();
    return _postListFromSnapshot(snapshot);
  }

1 Ответ

1 голос
/ 25 апреля 2020

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

     moreposts() async {
    QuerySnapshot snapshot = await postsCollection
        .orderBy('timestamp', descending: true)
         .startAfter([lastDocument])
         .limit(30)
        .getDocuments();

if (snapshot == null) {
return;
} 

// here you add the List with .add  if that is what you want.


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