ReferenceError: "Item" is not defined

ReferenceError: "Item" is not defined

我想检查某个组件是否可见,但我不知道该怎么做。

这是我的代码,但错误是“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
                }
            }
    }
}