我正在寻找从 firebase 数据库访问嵌套 JSON 数据以在 a 中使用listView
,这是我在整个应用程序中应用的东西,但现在无法访问具有动态属性的数据的子项。
从我的数据库导出我的 JSON 数据是;
{
"T&G Canary Wharf" : {
"Administrator" : {
"1550633367665" : {
"date" : "2019-02-12T12:00:00.000",
"details" : "Full Day",
"name" : "Edward Lawrence",
"status" : "pending"
},
"1550633370715" : {
"date" : "2019-02-13T12:00:00.000",
"details" : "Full Day",
"name" : "Edward Lawrence",
"status" : false
},
"1550845072137" : {
"date" : "2019-02-12T12:00:00.000",
"details" : "Full Day",
"name" : "Katie Prescott ",
"status" : 1
},
},
"Stylist" : {
"1551222170677" : {
"date" : "2019-02-19T12:00:00.000",
"details" : "Full Day",
"name" : "Stylist Stylist",
"status" : "pending"
}
}
}
}
对于应用程序的每个用户,group
(在上面的示例中 T&G Canary Wharf)将始终设置,但是subgroup
(在示例中的管理员和造型师)对于管理员来说是动态的,这就是我苦苦挣扎的地方,
我的 firebase 数据库读取代码如下:
我正在使用 felgo(以前的 v-play),他们的 firebase 文档的链接是:
App {
property var adminModel: []
property var groupName //the group name is assigned onLoggedIn, in this example group name === T&G Canary Wharf
FirebaseDatabase {
onLoggedIn: {
firebaseDb.getValue("groups" + "/" + groupName, {
orderByValue: true
}, function(success, key, value) {
if(success){
console.log("ADMIN MODEL: " + JSON.stringify(value))
adminModel = value // my array where I intend to push the data too
}
})
}
}
}
我一直在阅读;
(顺便说一句超级有用)特别 是如果属性名称是动态的并且我事先不知道它们该怎么办?
我可以创建两个列表条目,Administrator
和Stylist
(子组,但它的子键也是动态的(创建条目的时间,例如:“1550633367665”),我似乎无法更进一步?
要创建这个模型,我有代码:
ListPage {
id: adminPage
model: Object.keys(adminModel)
delegate: SwipeOptionsContainer {
id: container
rightOption: SwipeButton {
anchors.fill: parent
backgroundColor: "red"
icon: IconType.trash
onClicked: {
container.hideOptions()
}
}
SimpleRow {
id: userRow
width: parent.width
text: modelData
}
}
}
我的问题是
我怎样才能创建一个listView
代表是任何对象包含一个"status" : "pending"
- 在其他区域使用循环完成if (value[i].status === pending) { arr.push({...})}
,但是虽然subgroup (Stylist/Administrator)
未知,但从上面的数据库示例中将有 2 个列表元素,但实际上将包含更多具有多个subGroup
的。