需要在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);
}
});
答案 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);