组件缺少必需属性

组件缺少必需属性

发生了什么?

组件的 必需属性 未设置。

为什么这不好?

缺少必需属性的 QML 应用程序将表现不当:如果检测到静态缺失的必需属性,则根本无法启动。缺少必需属性的动态创建的组件将在运行时无法创建:它们将是 null。

示例

import QtQuick

Item {
    component RepeatMe: Item {
        required property int index;
        required property int helloWorld;
    }

    RepeatMe {} // not ok: required properties index and helloWorld not set

    Repeater {
        model: 10
        RepeatMe {} // not ok: required property index set by Repeater, but not helloWorld
    }
}

您可以通过设置必需属性来解决此警告

import QtQuick

Item {
    component RepeatMe: Item {
        required property int index;
        required property int helloWorld;
    }

    RepeatMe {
        index: 0
        helloWorld: 42
    } // ok: all required properties were set

    Repeater {
        model: 10
        RepeatMe {
            helloWorld: index * 2 + 1
        } // ok: all required properties were set: index by the Repeater and helloWorld by the user
    }
}

另请参阅QML 编码约定 - 必需属性.

© 2024 Qt 公司有限公司。此处包含的文档贡献是世界各地各自所有者的版权。此处提供的文档是根据自由软件基金会发布的 GNU 自由文档许可版1.3 的条款许可的。Qt 和相应的徽标是芬兰和/或其他国家的 Qt 公司的商标。所有其他商标均为其各自所有者的财产。