SAPUI5 将 customData 添加到 xmlView

Din*_*ler 3 view sapui5

我想将 javascript 生成的视图传输到 xmlView。

这很好用,我可以将它添加到 shell:

var headItem = new sap.ui.unified.ShellHeadItem({
        icon: "sap-icon://upload-to-cloud",
        id: "network-icon",
        customData: [
            new sap.ui.core.CustomData({
                key: "color",
                value: "{= ${appValues>/isOnline} ? 'is-online' : 'is-offline' }",
                writeToDom: true
            })
        ]
});
Run Code Online (Sandbox Code Playgroud)

我需要做什么才能将其添加到 XML 视图中:

<u:ShellHeadItem
    id="network-icon"
    icon="sap-icon://upload-to-cloud"
    tooltip="Network status"/>
Run Code Online (Sandbox Code Playgroud)

我试图将它添加到 viewController 中,但它没有更新 DOM。

onInit: function() {
    var oNetworkIcon = this.getView().byId("network-icon");

    oNetworkIcon.setModel(sap.ui.getCore().getModel("appValues"));
    oNetworkIcon.addCustomData(new sap.ui.core.CustomData({
           key: "color",
           value: "{= ${/isOnline} ? 'is-online' : 'is-offline' }",
           writeToDom: true
    }));
    //if you happen to know how to add a class
    oNetworkIcon.addStyleClass("blub"); 
},
Run Code Online (Sandbox Code Playgroud)

And*_*ych 5

尝试这个:

<u:ShellHeadItem
        id="network-icon"
        icon="sap-icon://upload-to-cloud"
        tooltip="Network status">
    <u:customData>
        <core:CustomData key="color" value="{= ${/isOnline} ? 'is-online' : 'is-offline' }" writeToDom="true" />
    </u:customData>
</u:ShellHeadItem>
Run Code Online (Sandbox Code Playgroud)