动态显示Firestore文档(cloud_firestore插件)

时间:2018-12-03 18:53:15

标签: firebase dart flutter google-cloud-firestore

我想显示不同的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()));
  }
 (...)
}

0 个答案:

没有答案