Ich habe einen ListView
von Items
und ich brauche, dass jeder element
eine einzigartige id
hat.Eindeutige ID für jedes Element eines ListView
Aber ich habe zwei Bedingungen auf meinem Artikel:
ich nicht
index
verwenden können, weil meinItems
kann (drag & drop) bewegt werden, so dass ihreindex
ändern wird.Jeder
Item
kann viele Male angezeigt werden, so dass es keine Eigenschaft dieser Elemente, die mich um sie zu unterscheiden helfen.
war meine Idee, so etwas zu tun:
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++
}
Aber es nicht funktioniert, weil, wenn list.uniqueId
aktualisiert wird, wird es meine Artikel-ID aktualisieren und sie alle haben die gleiche ID (id = list.uniqueId)
Wie könnte ich fortfahren?
Oh, danke, ich dachte, es hat das gleiche Verhalten, wenn Sie es in einer Funktion tun. Ich möchte das in der Ansicht tun, weil es nur ein Ansichtsproblem ist und ich mein Datenmodell nicht ändern möchte. Ich muss jedoch ein wenig darüber nachdenken und Sie könnten Recht haben. –
Wird es kein Problem geben, wenn Sie die 'ListView' verschieben und die Delegierten zerstört und neu erstellt werden? – derM
Das habe ich angedeutet. Er möchte jedoch möglicherweise nur eine eindeutige ID, aber keine dauerhafte ID. – dtech