我已经创建了一个嵌套的ListModel。
ListModel {
id: mainModel
ListElement {
mainName: "Alphabet"
subAlpha: [
ListElement { alphaName: "A" },
ListElement { alphaName: "B" }
]
} }
如何使用 javascript 在内部列表中添加元素?换句话说,如何将元素添加到 subAlpha 模型?
答案1
使用subAlpha.append()
。此方法以 Javascript 对象作为参数,并使用该对象使用这些键和值创建一个新的 ListElement。
一个工作示例:
import QtQuick 2.0
ListView {
width: 200
height: 200
ListModel {
id: mainModel
ListElement {
name: "Alphabet"
subAlpha: [
ListElement {
alphaName: "A"
},
ListElement {
alphaName: "B"
}
]
}
}
model: mainModel
delegate: Column {
Text { text: name }
Row {
Repeater {
model: subAlpha
Text { text: alphaName }
}
}
}
Component.onCompleted: {
mainModel.get(0).subAlpha.append({alphaName: "C"})
}
}
答案2
使其成为有效的 JSON/Javascript
a = {
id: mainModel,
ListElement: {
mainName: "Alphabet",
subAlpha: [
{ alphaName: "A" },
{ alphaName: "B" }
]
}
}
然后添加到 subAlpha
a.ListElement.subAlpha.push({ alphaName: "C" })