我知道如何绑定到根表视图信号,如onClicked
,但由于onSelectionChanged
是其selection
属性的信号,我不确定如何绑定到它。
我想我肯定可以使用Connections
绑定到它,但以下代码不起作用:
EDIT: 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()
}
}
但不幸的是,当我单击表中的一行时,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()
}
}