flutter - 从 flirestore 获取收集数据并附加到列表中,以便我可以使用 ListView.builder 在 Flutter 中构建内容
问题描述
我试图从 Firestore 中检索数据并将它们放入一个列表中,以便我可以从检索到的数据中构建读取和构建小部件。我似乎不能两者都做,我可以获取数据,或者附加一个具有固定值的列表,但我似乎无法检索数据 +用检索到的数据附加列表
. 抱歉,如果我不够清楚,请告诉我您需要什么,下面是我的数据库结构和代码片段的屏幕截图。
数据检索代码片段:
onRefreshPage() {
Firestore.instance
.collection("testimonies")
.getDocuments()
.then((querySnapshot) {
querySnapshot.documents.forEach((result) {
print(result.data);
});
});
}
清单声明:
List<DocumentSnapshot> testimonyCards = [];
解决方案
如果我理解正确,您希望将数据转换为小部件。看看 Flutter 的 FutureBuilder:https ://api.flutter.dev/flutter/widgets/FutureBuilder-class.html和https://firebase.flutter.dev/docs/firestore/usage#realtime-changes
在您的情况下,您可以执行以下操作:
FutureBuilder<QuerySnapshot>(
future: FirebaseFirestore.instance.collection('testimonies').get(),
builder: (BuildContext context, AsyncSnapshot<QuerySnapshot> snapshot) {
if (snapshot.hasError) {
return Text('Something went wrong');
}
if (snapshot.connectionState == ConnectionState.waiting) {
return Text("Loading");
}
return new ListView(
children: snapshot.data.docs.map((DocumentSnapshot document) {
return new ListTile(
title: new Text(document.data()['DisplayName']),
subtitle: new Text(document.data()['TestimonyData']),
);
}).toList(),
);
},
);
推荐阅读
- powerbi - 如何在 Matrix Widget 中显示 AVG 值以及 Power BI 中的 Total
- python - 运行程序时图形不显示(PLOTLY)
- c# - c#在windows窗体应用程序中获取后台进程
- javascript - IF 语句第一次运行但不是第二次?
- python - 使用带有 GPU 的 @jit 寻找示例 Python 代码来遍历大图像中的每个像素
- php - 如何在 CakePHP 4 中解析和读取 excel 文件?
- python - 在 Python 中剥离列表中的字符串
- sed - 我想在 linux 中使用 sed 搜索和替换“//window”的第一个实例
- asp.net-core - 通过提交和操作将参数传递给控制器
- python-3.x - AWS Lambda 中的 Python 请求超时