0

我可以在这里给变量属性赋值,但不能给数组赋值?...不保留值。

Column {
     id: table

     property variant aa: [false, false] //issue... later
     property variant bb: false //this works

     ...

     Button {
        anchors.top: parent.top
        anchors.topMargin: 0//40
        anchors.right: parent.right
        anchors.rightMargin: 0//50
        corpFarmAware: true
        text: tr_NOOP("Next")

        onClicked: {
            table.aa[0] = false;
            table.aa[1] = true;
            cb0.checked = table.aa[0];//issue of arrays ??
            cb1.checked = table.aa[1];

            table.bb = true;
            cb2.checked = table.bb;//WORKS
        }
    }
4

1 回答 1

0

根据QML 中有关变体的文档:

虽然这是一种存储数组和映射类型值的便捷方式,但您必须注意,上面的项目和属性属性不是 QML 对象(当然也不是 JavaScript 对象),并且属性中的键值对不是 QML 属性. 相反,items 属性包含一个值数组,而属性包含一组键值对。由于它们被存储为一组值,而不是作为一个对象,它们的内容不能单独修改

我认为你应该使用var来存储你的属性。

于 2013-11-14T15:55:24.560 回答