flutter - 如何使用 Streambuilder 和 firebase QuerySnapshot 使用 GroupedListView
问题描述
我正在尝试使用 GroupedListview() 显示来自 Firebase 云的一些数据。当我使用普通的 Listview.builder() 时,一切正常。但我没有让 GroupedListview 工作。我的 Snapshot.docs 有一个名为 ['date'] 的时间戳,我想用它来分隔排序和分隔列表。
在这里你可以看到我正常的 ListView:
StreamBuilder<QuerySnapshot>(
stream: _firestoreDb,
builder: (context, snapshot) {
if (!snapshot.hasData) return CircularProgressIndicator();
return ListView.builder(
physics: BouncingScrollPhysics(),
reverse: true,
itemCount: snapshot.data.docs.length,
itemBuilder: (context, int index) {
return JumpTile(
snapshot: snapshot.data,
index: index,
);
});
}),
这是我尝试使用 GroupedListview:
StreamBuilder<QuerySnapshot>(
stream: _firestoreDb,
builder: (context, snapshot) {
if (!snapshot.hasData) return CircularProgressIndicator();
return GroupedListView(
elements: snapshot.data.docs,
groupBy: (element) => element['date'],
groupHeaderBuilder: (element) =>
Text(element['date'].toString()),
indexedItemBuilder: (context, snapshot, int index) {
return JumpTile(
snapshot: snapshot.data,
index: index,
);
});
}),
这是我显示的错误:类型'() => Map<String, dynamic>' 不是类型'QuerySnapshot' 的子类型
解决方案
推荐阅读
- c++ - 将对象的亲和性从 QThread 更改为 Main GUI 线程
- html - 禁用具有比较条件的按钮
- javascript - materializecss轮播滑块模式
- node.js - TOMCAT Angular 应用程序无法连接到 node.js 服务器 - 如何安装代理?
- sql-server - 特定行的总和
- spring-boot - 每次我在 WAR 和 IDE 运行之间切换运行模式时,带有 Spring Boot 的 Flyway 都会覆盖整个数据库
- python - 绘图中的对数色标
- python - 无法使用已安装的库
- javascript - 在 angluarJS 中结合 ng-if 和 ng-click
- python - MongoDB 3.2.20 的 MongoEngine 版本