UBports Robot Logo UBports Forum
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Groups
    • Search
    • Register
    • Login

    ListView - append is not a function

    Scheduled Pinned Locked Moved Solved App Development
    3 Posts 2 Posters 537 Views 1 Watching
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
      Reply
      • Reply as topic
      Log in to reply
      This topic has been deleted. Only users with topic management privileges can see it.
      • 0 Offline
        007fred50
        last edited by

        Hello All,

        I trying to make ListView and delete that item.
        My Question is why can't i add an item to ListView?

        Here is my Code

        import QtQuick 2.7
        import Ubuntu.Components 1.3
        //import QtQuick.Controls 2.2
        import QtQuick.Layouts 1.3
        import Qt.labs.settings 1.0
        import QtQuick.Controls 2.5
        
        MainView {
            id: root
            objectName: 'mainView'
            applicationName: 'lists.lists'
            automaticOrientation: true
        
            width: units.gu(45)
            height: units.gu(75)
        
            function addtolistView(){
                listView.append({sender: "First Row Added", title: "Add"})
            }
        
            ListView {
                id: listView
                anchors.fill: parent
                model: ListModel {
                    ListElement { sender: "Bob Bobbleton"; title: "How are you going?" }
                    ListElement { sender: "Rug Emporium"; title: "SALE! All rugs MUST go!" }
                    ListElement { sender: "Electric Co."; title: "Electricity bill 15/07/2016 overdue" }
                    ListElement { sender: "Tips"; title: "Five ways this tip will save your life" }
                }
                delegate: SwipeDelegate {
                    id: swipeDelegate
                    text: model.sender + " - " + model.title
                    width: parent.width
        
        
        
                    ListView.onRemove: SequentialAnimation {
                        PropertyAction {
                            target: swipeDelegate
                            property: "ListView.delayRemove"
                            value: true
                        }
                        NumberAnimation {
                            target: swipeDelegate
                            property: "height"
                            to: 0
                            easing.type: Easing.InOutQuad
                        }
                        PropertyAction {
                            target: swipeDelegate
                            property: "ListView.delayRemove"
                            value: false
                        }
                    }
        
                    onClicked: {
                        swipe.complete=false
                    }
        
                    swipe.right: Label {
                        id: deleteLabel
                        text: qsTr("Delete")
                        color: "white"
                        verticalAlignment: Label.AlignVCenter
                        padding: 12
                        height: parent.height
                        anchors.right: parent.right
        
                        SwipeDelegate.onClicked: listView.model.remove(index)
        
                        background: Rectangle {
                            color: deleteLabel.SwipeDelegate.pressed ? Qt.darker("tomato", 1.1) : "tomato"
                        }
                    }
                }
            }
        
            Button{
                text: "Add"
                onClicked: addtolistView()
            }
        }
        

        Got this error here (TypeError: Property 'append' of object QQuickListView(0x124f560) is not a function)

        How can that be fixed? 🙂

        Thanks for your time

        Best Reagrds
        007fred50

        lduboeufL 1 Reply Last reply Reply Quote 0
        • lduboeufL Offline
          lduboeuf @007fred50
          last edited by lduboeuf

          @007fred50 use append on the model not the listview. e.g: listview.model.append(..)

          0 1 Reply Last reply Reply Quote 0
          • 0 Offline
            007fred50 @lduboeuf
            last edited by

            @lduboeuf thanks it works 🙂

            1 Reply Last reply Reply Quote 0

            Hello! It looks like you're interested in this conversation, but you don't have an account yet.

            Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.

            With your input, this post could be even better 💗

            Register Login
            • First post
              Last post