class Asd extends StatelessWidget {
const Asd({super.key});
@override
Widget build(BuildContext context) {
return FirestoreListView(
loadingBuilder: (context) {
return const Center(
child: CircularProgressIndicator(),
);
},
pageSize: 3,
emptyBuilder: (context) {
return const Center(
child: Text('No data'),
);
},
query: FirebaseFirestore.instance
.collection(Constants.blogCollection)
.where('isApproved', isEqualTo: true)
.orderBy("createdAt", descending: true)
.withConverter(fromFirestore: (snapshot, options) {
return Blog.fromMap(snapshot.data()!);
}, toFirestore: (blog, options) {
return blog.toMap();
}),
itemBuilder: (context, doc) {
final blog = doc.data();
print("blog: $blog");
return PostCard(
blog: blog,
);
},
);
}
}
我按照说明编写了我的代码,但是当我查看控制台时,我看到数据库中的所有数据都出现了,而不是 3 个项目。我正在使用 firebase_firestore_ui 包。当我在我的模拟器上向下滚动时,我没有看到圆形进度指示器,它就在那里。
您如何确定 FirebaseUI
FirestoreListView
不工作?
请记住,
FirestoreListView
实现无限滚动和 not 显式分页。所以它会根据需要加载项目,这意味着它会列出填充页面所需的项目数,然后根据需要加载更多项目。
因此,如果您向下滚动到列表底部,它最终确实会加载集合中的所有文档。但是,如果您只停留在第一个满屏文档上,它只会加载第一组文档。