firebase - Flutter:用于查询文档的 Streambuilder
问题描述
如何获取从查询快照返回的所有项目的列表视图?
FirebaseFirestore.instance
.collection("children")
.where("parentUID", isEqualTo: uid)
.snapshots()
.listen((result) {
result.docs.forEach((result) {
setState(() {
childFirstName = result["childFirstName"];
childLastName = result["childLastName"];
points = result["points"];
docID = result.id;
print('$docID');
});
});
});
}
这就是我能想到的,这是数据库的图像,数据库的
图像
如何创建一个列表视图,它为每个文档创建一个项目,该项目parentUID
等于当前用户,该用户uid
已经存储在一个变量中uid
解决方案
您可以使用下面的示例代码。它显示了如何使用查询中的流并返回在 aListView.builder
中显示信息的 a ListTile
。
StreamBuilder<QuerySnapshot<Map<String, dynamic>>>(
stream: FirebaseFirestore.instance
.collection('children')
.where('parentUID', isEqualTo: uid)
.snapshots(),
builder: (BuildContext context, snapshot) {
if (snapshot.data == null) {
return Center(child: CircularProgressIndicator());
} else {
final List<QueryDocumentSnapshot<Map<String, dynamic>>> docs = snapshot.data!.docs;
return ListView.builder(
itemCount: docs.length,
itemBuilder: (_, index) {
final doc = docs[index];
final childFirstName = doc["childFirstName"];
final childLastName = doc["childLastName"];
final points = doc["points"];
final docID = doc.id;
return ListTile(
title: Text('$childFirstName $childLastName'),
subtitle: Text(points),
);
},
);
}
},
)
推荐阅读
- python - PySpark - 使用 GroupBy 有条件地创建列
- javascript - 没有调试适配器,不能发送'变量 VSCODE
- python - 熊猫没有按预期排序
- jmeter - 无法在 JMeter .app.powerbi.com 中记录 power bi 嵌入 Web 应用程序正在引发错误
- php - 在 Laravel 8 中使用用户名和密码进行身份验证的问题
- python - 为什么python在这个程序中将整数打印为浮点数
- c# - IsMaskcompleted 有时为空,这是为什么呢?
- c# - C# — 执行多个并发传出 HTTP 请求时出错
- azure - 为 Azure 媒体服务生成 JWT 令牌
- ruby-on-rails - fast_jsonapi 仅返回第一个包含的元素