如何从QML基本类型列表中动态删除元素?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何从QML基本类型列表中动态删除元素?相关的知识,希望对你有一定的参考价值。
我已成功添加元素
list.push(element)
但是我该如何删除它们?我尝试了以下内容,但它们似乎都没有效果。
list.pop()
list.pop_front()
list.remove()
list.remove(int)
list.remove(element)
答案
您无法删除单个项目。根据docs:
请注意,创建后无法将对象单独添加到列表中或从列表中删除;要修改列表的内容,必须将其重新分配给新列表。
这意味着pop
方法很可能不会与基本列表类型一起存在。 (但是,有一种push
方法。)
使用javascript数组会好得多。
property var myArray: [1, 2, 3]
Component.onCompleted: {
myArray.push(4);
myArray.push(5);
myArray.splice(1, 1) // simulates a remove
myArray.pop(); // pop last item
console.debug(myArray) // [1, 3, 4]
}
我在这里使用过int
s,但你也可以存储QML对象和其他类型。使用JavaScript数组会将您的变量暴露给大多数(如果不是全部)JavaScript的Array functions。
以上是关于如何从QML基本类型列表中动态删除元素?的主要内容,如果未能解决你的问题,请参考以下文章