如何组合Firestore(其中,在颤动中将startBy与start after光标对齐)
getMoreData() async {
if (moreDataAvailable == false) {
print("no more data");
return;
}
if (gettingMoreData == true) {
return;
}
gettingMoreData = true;
Firestore.instance
.collection('clients')
.where('alarm', isEqualTo: true)
.orderBy('nameFs')
.startAfter([_lastDocument.data['nameFs']])
.limit(perPage)
.getDocuments()
.then((snapshot) {
setState(() {
if (snapshot.documents.length < perPage) {
moreDataAvailable = false;
}
alarmData.addAll(snapshot.documents);
_lastDocument = snapshot.documents[snapshot.documents.length - 1];
isGet = true;
gettingMoreData = false;
});
initialData.addAll(alarmData);
});
}
我正在尝试在我的flutter应用程序查询中进行分页,而无需orderBy 但是如果我在我的应用程序中没有分页,也希望在条件正常的情况下我是陌生的,请有人可以给我解决方案。
答案 0 :(得分:0)
尝试使用此软件包-paginate_firestore。
您只需要像这样传递itemBuilder
和query
,它就会为您实现分页,
PaginateFirestore(
itemBuilder: (context, documentSnapshot) => ListTile(
leading: CircleAvatar(child: Icon(Icons.person)),
title: Text(documentSnapshot.data['name']),
subtitle: Text(documentSnapshot.documentID),
),
// orderBy is compulsary to enable pagination
query: Firestore.instance.collection('users').orderBy('name'),
)