如何将Firestore组合在一起(在哪里,orderBy与开始后光标在颤动中)

时间:2019-07-11 13:34:02

标签: flutter

如何组合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 但是如果我在我的应用程序中没有分页,也希望在条件正常的情况下我是陌生的,请有人可以给我解决方案。

1 个答案:

答案 0 :(得分:0)

尝试使用此软件包-paginate_firestore

您只需要像这样传递itemBuilderquery,它就会为您实现分页,

      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'),
      )