Firebase: как отобразить поток элементов в обратном порядке с лимитом для каждого запроса и индикатором кнопки «загрузить больше».
- Это позволит получить последние 10 элементов список
FBRef.child ("childName") .limitToLast (loadMoreLimit) // loadMoreLimit = 10, например
- Это будет последнее 10 элементов , Возьмите идентификатор последней записи в списке и сохраните для загрузки больше функциональности. Затем преобразуем коллекцию объектов в массив и создаем list.reverse ().
- LOAD MORE Функциональность: следующий вызов будет делать две вещи: он получит следующую последовательность элементов списка на основе идентификатора ссылки из первого запроса и даст вам индикатор, если вам нужно отобразить «load» больше ".
this.FBRef .child ("childName") .endAt (null, lastThreadId) // Получить это с предыдущего шага .limitToLast (loadMoreLimit + 2)
- Вам нужно будет удалить первый и последний элемент этой коллекции объектов. Первый элемент - ссылка для получения этого списка. Последний элемент является индикатором кнопки «Показать больше».
- У меня есть куча другой логики, которая будет держать все в чистоте. Вам нужно будет добавить этот код только для большей функциональности загрузки.
list = snapObjectAsArray; // The list is an array from snapObject
lastItemId = key; // get the first key of the list
if (list.length < loadMoreLimit+1) {
lastItemId = false;
}
if (list.length > loadMoreLimit+1) {
list.pop();
}
if (list.length > loadMoreLimit) {
list.shift();
}
// Return the list.reverse() and lastItemId
// If lastItemId is an ID, it will be used for the next reference and a flag to show the "load more" button.
}
задан M.Doe 16 January 2019 в 14:50
поделиться