0
我有ListView
的Items
,我需要每个element
都有一个唯一的id
。ListView的每个元素的唯一ID
但我有我的项目两个条件:
我不能使用
index
因为我Items
可以移动(拖动&下降),所以他们的index
会发生变化。每个
Item
可以多次显示,所以没有这些元素的属性可以帮助我区分它们。
我的想法是做这样的事情:
ListView {
id: list
property int uniqueId: 0
width: 180; height: 200
model: myModel
delegate: Text {
property int uniqueid: list.uniqueId
text: uniqueid
}
Component.onCompleted: list.uniqueId++
}
但它不工作因为当list.uniqueId
被更新,它会更新我的项目ID和他们都将有相同的号码(id = list.uniqueId)
我该怎么办?
哦,谢谢,我认为它有相同的行为,如果你在一个函数中做。 我想在视图中这样做,因为它只是一个视图问题,我不想更改我的数据模型。但是,我需要考虑一点,你可能是对的。 –
当你移动ListView并且委托将被销毁并重新创建时,会不会有问题? – derM
这就是我暗示的。但是,他可能只想要一个唯一的ID,但不是一个持久的ID。 – dtech