QML TableView:如何绑定到 selection.onSelectionChanged()

QML TableView: how to bind to selection.onSelectionChanged()

我知道如何绑定到像 onClicked 这样的根 TableView 信号,但是由于 onSelectionChanged 是其 selection 属性 的信号,我不确定如何绑定绑定到它。

我以为我肯定可以使用 Connections 绑定到它,但是下面的代码不起作用:

编辑Connections确实有效,问题是无关的错误(见我自己的回答)

    TextArea {
        id: messageDetailTextArea
        readOnly: true
        font: messageListDialog.font

        function update() {
            var selectionText = ''
            messagesTable.selection.forEach(function(rowIndex) {
                var row = model.get(rowIndex)
                if (row && row.message) selectionText += row.message
            })
            text = selectionText
        }

        Connections {
            target: messagesTable.selection
            onSelectionChanged: update()
        }
    }

但不幸的是,当我单击 table 中的一行时,TextArea 没有更新。我如何响应选择更改?

啊,所以我没有 model 和对 update() 的正确调用。这有效:

    TextArea {
        id: messageDetailTextArea
        readOnly: true
        font: messageListDialog.font

        function update() {
            var selectionText = ''
            messagesTable.selection.forEach(function(rowIndex) {
                var row = messagesTable.model.get(rowIndex)
                if (row && row.message) selectionText += row.message
            })
            text = selectionText
        }

        Connections {
            target: messagesTable.selection
            onSelectionChanged: messageDetailTextArea.update()
        }
    }