flutter - 我刚刚开始使用颤振,如果有人可以在应用程序的此页面中帮助我进行分页,那就太好了
问题描述
我有一个 'brews' 的 firestore 收藏。无法找到对 Brews 列表进行分页的方法。如果需要,您可以在 ( https://github.com/iamshaunjp/flutter-firebase/tree/lesson-27 )找到整个代码。谢谢..
class BrewList extends StatefulWidget {
@override
_BrewListState createState() => _BrewListState();
}
class _BrewListState extends State<BrewList> {
@override
Widget build(BuildContext context) {
final brews = Provider.of<List<Brew>>(context) ?? [];
return ListView.builder(
itemCount: brews.length,
itemBuilder: (context, index) {
return BrewTile(brew: brews[index]);
},
);
}
}
解决方案
好的,很抱歉延迟回答,但这就是我认为你的功能看起来像这样将你所有的 brews 保存到一个列表中作为 brews 然后你可以将它们映射到小部件。
Future<void> queryFirebase(String starting, String ending) async {
final List<Brew> brewsList = []; //this need to be intialized higher up not in this function
//if you intialized it in this function it will reset to empty every time you call the function
QuerySnapshot brewsSnapshot = await Firestore.instance
.collection('collection')
.where('name', isGreaterThanOrEqualTo: starting)
.where('name', isLessThanOrEqualTo: ending)
.orderBy('name')//this sorts your query if you want that
.getDocuments();
if (brewsSnapshot == null) {
return;
}
brewsSnapshot.documents.forEach(
(DocumentSnapshot brewsDocuments) => {
brewsList.add(
Brew(
sugars: brewsDocuments.data['sugars'],
name: brewsDocuments.data['name'],
strength: int.parse(
brewsDocuments.data['sugars'],
),
),
),
},
);
notifyListeners();
}
那么对该函数的调用将类似于
await queryFirebase('A', //name of last brew you want displayed initially)
await queryFirebase('//next brew after last one from last function', //name of last brew you want displayed )
await queryFirebase('//next brew after last one from last function', 'Z' )
推荐阅读
- html - 带有背景图像的 div 在顺风中的高度为 0
- javascript - 在保存其他文件时,我的 nuxt.config.js 会自动更新!为什么?
- java - 如何在 JUnit 5 测试类构造函数中获取测试方法(或名称)?
- c# - 在 serilog 日志中使用公共属性
- rest - 如何通过 API 平台使用继承的类
- node.js - 将表单中输入的用户名和密码与插入到 mongodb 中的用户名和密码匹配,以便使用 nodejs express 查看其他页面
- delphi - 如何确保 Delphi 网络共享组件可以访问 Internet
- c# - 应用条件格式后,EPPlus Excel 无法打开
- c# - 将 TreeView 项标头绑定到 WrapPanel 的选定子项内容
- ios - 如何制作关闭/打开 MKmapView 上的用户位置的代码?