Last updated:
0 purchases
kr paginate firestore
Pagination in Firestore #
Setup #
Use the same setup used for cloud_firestore package (or follow this).
Usage #
In your pubspec.yaml
dependencies:
kr_paginate_firestore: # latest version
copied to clipboard
Import it
import 'package:kr_paginate_firestore/paginate_firestore.dart';
copied to clipboard
Implement it
KrPaginateFirestore(
//item builder type is compulsory.
itemBuilder: (context, documentSnapshots, index) {
final data = documentSnapshots[index].data() as Map?;
return ListTile(
leading: CircleAvatar(child: Icon(Icons.person)),
title: data == null ? Text('Error in data') : Text(data['name']),
subtitle: Text(documentSnapshots[index].id),
);
},
// orderBy is compulsory to enable pagination
query: FirebaseFirestore.instance.collection('users').orderBy('name'),
//Change types accordingly
itemBuilderType: PaginateBuilderType.listView,
// to fetch real-time data
isLive: true,
),
copied to clipboard
To use with listeners:
PaginateRefreshedChangeListener refreshChangeListener = PaginateRefreshedChangeListener();
RefreshIndicator(
child: KrPaginateFirestore(
itemBuilder: (context, documentSnapshots, index) => ListTile(
leading: CircleAvatar(child: Icon(Icons.person)),
title: Text(documentSnapshots[index].data()['name']),
subtitle: Text(documentSnapshots[index].id),
),
// orderBy is compulsary to enable pagination
query: Firestore.instance.collection('users').orderBy('name'),
listeners: [
refreshChangeListener,
],
),
onRefresh: () async {
refreshChangeListener.refreshed = true;
},
)
copied to clipboard
Getting Started #
This project is a starting point for a Dart
package,
a library module containing code that can be shared easily across
multiple Flutter or Dart projects.
For help getting started with Flutter, view our
online documentation, which offers tutorials,
samples, guidance on mobile development, and a full API reference.
This project follows the all-contributors specification. Contributions of any kind welcome!
For personal and professional use. You cannot resell or redistribute these repositories in their original state.
There are no reviews.