qt - ReferenceError:“项目”未定义
问题描述
我想检查一个组件项是否可见,但我不知道该怎么做。
这是我的代码,但错误是“ReferenceError: tagFilterPlaylist is not defined”如何解决这个问题?
Repeater {
id: tagRepeater
model: main.playListBrowseModel
Component {
id: componentTagFilterPlaylist
BasicUI.Tag {
id: tagFilterPlaylist
tag: "playlist"
selected: true
}
}
Loader {
id: filterLoader
sourceComponent:
if (item_type === "playlist"){
console.debug("check"+tagFilterPlaylist)
if (!tagFilterPlaylist) {
tagFilterPlaylist.visible = true;
return componentTagFilterPlaylist
}
}
}
}
解决方案
您不能在组件中引用 id,因为您首先需要拥有该组件的实例。您应该做的只是在 之外保留一个布尔属性Repeater
,以跟踪您是否正在显示您的唯一tagFilterPlaylist
。
property bool playlistVisible: false
Component {
id: componentTagFilterPlaylist
...
}
Repeater {
id: tagRepeater
model: main.playListBrowseModel
Loader {
id: filterLoader
sourceComponent:
if (item_type === "playlist"){
if (!playlistVisible) {
playlistVisible = true;
return componentTagFilterPlaylist
}
}
}
}
推荐阅读
- c++ - Vulkan Dynamic Loader - 访问函数调用冲突
- javascript - 我想获得使用 denomongo 的指南
- javascript - 将空表行添加到表中,直到它具有一定数量的行
- python-3.x - 无法为使用 PEP 517 的雪花连接器 python 构建轮子
- php - 在 Wordpress 中将 mywebsite.com/wide-page/contact 替换为 mywebsite.com/contact
- node.js - 条件为真时立即停止异步 forEach
- javascript - 样式化组件中的媒体查询正在自行更改
- docker - Docker, docker-compose 和在项目之间复制文件
- spring - Spring没有看到一个特定的模块
- android - 如何防止 CKEditor 在按下 Enter 键时隐藏 Android 键盘