Uploaded image for project: 'Qt'
  1. Qt
  2. QTBUG-127783

Repeater is not refreshed when ListModel data changed

    XMLWordPrintable

Details

    • Bug
    • Resolution: Unresolved
    • P2: Important
    • None
    • 6.7.2
    • None
    • Windows

    Description

      Unlike ListView (which works fine), the Repeater{} does not update when data in ListModel are changed...

       

      ListModel {
          id: myModel
      
          ListElement {
              name: "Apple"
              cost: 2.45
          }
          ListElement {
              name: "Orange"
              cost: 3.25
          }
          ListElement {
              name: "Banana"
              cost: 1.95
          }
      }
      
      Column {
      	Repeater {
      		model: myModel
      		spacing: 5
      
      		Rectangle {
      			width: 20
      			height: 50
      			color: "yellow"
      			required property int index
      
      			Label {
      				anchors.left: parent.left
      				anchors.top: parent.top
      				text: myModel.get(index).name
      			}
      			Label {
      				anchors.right: parent.right
      				anchors.top: parent.top
      				text: myModel.get(index).cost
      			}
      
      			MouseArea {
      				onClicked: myModel.setProperty(index, "cost", 5);			// this shall update the and show me new price
      			}
      		}
      	}
      } 

      again, same inside ListModel works just fine and Text{} property updates... so only Repeater is not working here...

      there are several stuff people reported this (same or similar?) issue before:

      QTBUG-28556 Repeater does not refresh role names on model reset - Qt Bug Tracker

      QTBUG-32132 Qml do not updates roles names on QAbstractItemModel::reset signal - Qt Bug Tracker

      [Interest] QML Repeater delegate not updating (qt-project.org)

      [updating elements in a repeater? | Qt Forum|https://forum.qt.io/topic/124628/updating-elements-in-a-repeater/4]

       

      there is no mention in the documentaion that it should not update, tho people suggest to use .clear() and append() all of it back... which is nightmare solution :/

      Attachments

        No reviews matched the request. Check your Options in the drop-down menu of this sections header.

        Activity

          People

            qt.team.quick.subscriptions Qt Quick and Widgets Team
            shokarta Jiri Zaloudek
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:

              Gerrit Reviews

                There are no open Gerrit changes