无法引用 listview qml 的高亮 id
Unable to reference highlight id of listview qml
我有一个列表视图突出显示组件,我需要在该组件外部(列表视图内部和外部)使用其 ID,但无论我尝试什么,我都会得到 reference error: Id is not defined.
无法找到解决方法。我在某处读到,由于高亮类型是组件,因此不能在其外部使用。但是我真的需要在外面使用这个id。谁能帮忙
我目前拥有的代码的一个小概要是
ListView {
id: listId
MouseArea {
anchors.fill: parent
onClicked: {
boxId.visible = false
} //unable to use 'boxId' like this. Getting reference error
}
delegate: Rectangle {}
highlight: Rectangle {
id: boxId
}
}
问题是当您尝试在 MouseArea
中访问时,突出显示的项目并不总是存在。因此,不能直接从此范围引用它。
您可以尝试这样的操作,只在它存在时访问它:
ListView {
id: listId
MouseArea {
anchors.fill: parent
onClicked: {
var item = ListView.highlightItem
if (item) {
item.visible = false
}
}
}
delegate: Rectangle {}
highlight: Rectangle {
id: boxId
}
}
我有一个列表视图突出显示组件,我需要在该组件外部(列表视图内部和外部)使用其 ID,但无论我尝试什么,我都会得到 reference error: Id is not defined.
无法找到解决方法。我在某处读到,由于高亮类型是组件,因此不能在其外部使用。但是我真的需要在外面使用这个id。谁能帮忙
我目前拥有的代码的一个小概要是
ListView {
id: listId
MouseArea {
anchors.fill: parent
onClicked: {
boxId.visible = false
} //unable to use 'boxId' like this. Getting reference error
}
delegate: Rectangle {}
highlight: Rectangle {
id: boxId
}
}
问题是当您尝试在 MouseArea
中访问时,突出显示的项目并不总是存在。因此,不能直接从此范围引用它。
您可以尝试这样的操作,只在它存在时访问它:
ListView {
id: listId
MouseArea {
anchors.fill: parent
onClicked: {
var item = ListView.highlightItem
if (item) {
item.visible = false
}
}
}
delegate: Rectangle {}
highlight: Rectangle {
id: boxId
}
}