SAP UI5标签将++显示为SuperScript

时间:2017-03-15 07:38:41

标签: label sapui5 superscript

需要在SAP UI5中将++显示为标签的上标。 我最初的方法是扩展标准标签控件并将属性文本设置为sap.ui.core.HTML()类型,但无法继续。 需要建议以及可能的代码示例。

sap.m.Label.extend("mylabel.Label", {  
    // the control API:
    library : "sap.m",
    metadata: {
        aggregations: {
        superScript: 'sap.ui.core.HTML'
    },
    properties: {
        text: {
            type: "sap.ui.core.HTML"
        }
    }
},
renderer: function(oRM, oControl) { // static function
    sap.m.LabelRenderer.render(oRM, oControl);
}

});

1 个答案:

答案 0 :(得分:0)

只需在 init 方法中添加内容,然后使用Label类渲染器进行渲染,如下所示

sap.ui.define(["sap/m/Label",
               "sap/ui/core/HTML"], function (Label, HTML) {
    "use strict";
    return Label.extend("SuperLabel", {
        metadata : {
            aggregations : {
                 superScript : {
                     type : "sap.ui.core.HTML", multiple : false
                 }
            }
        },
        init : function () {
            this.setAggregation('superScript',new HTML({
                content : "<sup>++</sup>"
           }));
        }
    });
});

我正在使用名称渲染器在其他类中编写渲染器,即 SuperLabelRenderer

sap.ui.define([], function () {
    "use strict";
    var SuperLabelRenderer = {};
    SuperLabelRenderer.render = function (oRM, oControl) {
         oRM.write("<div");
         sap.m.LabelRenderer.render(oRM, oControl);
         oRM.renderControl(oControl.getAggregation("superScript"));
         oRM.write("</div>");
    };
    return SuperLabelRenderer;
},true);