5

我已将 MyItem.qml 作为源组件加载到 Loader 元素上。现在我想从 Loader 元素中删除或卸载该页面。我试图设置 source : "" & sourceComponent : "" ,还有 sourceComponent : "undefined"。但它没有用

4

3 回答 3

6

你应该设置sourceComponent = undefinedsource = ""。通常,我使用以下代码:

Loader{
    id: loader
    function show(component) {
        sourceComponent = component;
    }
    function hide(){
        sourceComponent = undefined;
    }
}
于 2017-07-27T14:27:11.440 回答
2

您可以将active属性设置false为卸载或true(默认)加载。

于 2017-02-16T09:11:22.617 回答
0

您没有说实际问题是什么,但如果您遇到错误,您尝试卸载的组件试图访问它不应该访问的东西,这可能是因为 Loader 使用删除项目deleteLater(),这意味着它不会立即被删除。有关更多信息,请参阅此错误报告:

https://bugreports.qt.io/browse/QTBUG-60344

于 2017-07-28T07:25:48.337 回答