Я создал тот, вложенный ListModel.
ListModel {
id: mainModel
ListElement {
mainName: "Alphabet"
subAlpha: [
ListElement { alphaName: "A" },
ListElement { alphaName: "B" }
]
} }
Как я могу добавить элемент во внутреннем списке с помощью JavaScript? Другими словами, как я могу добавить элемент к подальфа-модели?
Используйте 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"})
}
}
Сделать это допустимым JSON/Javascript
a = {
id: mainModel,
ListElement: {
mainName: "Alphabet",
subAlpha: [
{ alphaName: "A" },
{ alphaName: "B" }
]
}
}
и затем добавить к подальфе
a.ListElement.subAlpha.push({ alphaName: "C" })