我想显示不同的Firestore文档的值。 我已经可以将文档的ID传递给负责的类构造函数,并且查询返回DocumentSnapshot。
使用data ['key']通过键显示单个值也没问题。
现在,由于我的数据结构中不同的文档可能具有不同的属性,因此我需要一种动态的方式来显示它们。
我的方法是遍历Snapshot.data,因为它是根据the docs的Map
但是我不能正确理解语法。
数据结构示例(集合):
Document1: {
key1: val1,
}
Document2: {
key2: val2,
k3: array {
k4: v4,
k5: v5,
}
}
因此,我需要一种通过迭代值来构建Widget的方法,从而能够以不同方式处理不同的数据类型。
更新: 我可能会通过反复试验找到一个简单的解决方案:
List<widget> widgetlist = new List<widget>();
data.forEach((k, v) {
if(v is String){
widgetlist.add(new Text("String: "+v));
}
else if (v is List<dynamic>){
widgetlist.add(new Text(k));
v.forEach((value) => widgetlist.add(new Text("arrValue: "+value.toString()));
}
(...)
}