需要将++显示为UI5中标签的上标。我最初的方法是扩展标准的label控件,并将属性text设置为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);
}
});
发布于 2017-03-18 13:07:33
只需在初始化方法中添加内容,然后使用标注类渲染器呈现该内容,如下所示
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);
https://stackoverflow.com/questions/42803662
复制相似问题