QML在ListModel中更改列表数据角色

时间:2016-05-26 14:22:32

标签: qt listview qml

我尝试更新列表模型中列表元素的嵌套列表数据:

Item {

  width: 400
  height: 300

  ListModel {
    id: myModel
    ListElement {
       name: "Banana"
       myId: "1.95"
       attributes: [
          ListElement { event: "Tropical" }
       ]
     }

  }

  MouseArea {
     anchors.fill: parent
     onClicked: {
        myModel.setProperty(0, "attributes", {"event" : "testNEW"}); 
        //myModel.setProperty(0, "attributes", [{"event" : "testNEW"}]); 
     }
  }

  ListView {
     anchors.fill: parent

     model: myModel
     delegate: Item {
        height: 50
        width: 100
        Repeater {
            model: attributes
            Text { text: event }
        }
     }
  }

  Component.onCompleted: {
    myModel.append{"name" : "name", "myId" : "2.23", "attributes" : [{"event" : "test"}];    
  }    
}

问题是上面的代码没有更新attributes属性。

如何更新属性的唯一方法是使用以下代码:

myModel.get(0).attributes.get(0).event = "testNEW"

问题

如何使用attributes更新setProperty媒体资源?

0 个答案:

没有答案