Sapui5 将sap.m.Text包含到sap.ui.core.HTML元素(JS视图)中
我有下面的代码,我试图在HTML元素中包含一个文本Sapui5 将sap.m.Text包含到sap.ui.core.HTML元素(JS视图)中,sapui5,Sapui5,我有下面的代码,我试图在HTML元素中包含一个文本 new sap.ui.core.HTML({ content: '<div class="left">' + new sap.m.Text("mengeLabel", {text: "Menge: "}).addStyleClass('list-label') +
new sap.ui.core.HTML({
content:
'<div class="left">' +
new sap.m.Text("mengeLabel", {text: "Menge: "}).addStyleClass('list-label') +
new sap.m.Text("menge",{ text: "{Quantity}" }) +
'</div>'
}),
new sap.ui.core.HTML({
内容:
'' +
new sap.m.Text(“mengeLabel”,{Text:“Menge:”}).addStyleClass('list-label'))+
新的sap.m.Text(“menge”,{Text:{Quantity}})+
''
}),
代码位于CustomListItem的内容属性中。渲染时,它的外观如下所示:
<div class="left" data-sap-ui-preserve="__html0-__clone0" id="__html0-__clone0">
Element sap.m.Text#mengeLabelElement sap.m.Text#menge
</div>
元素sap.m.Text#mengelabelement sap.m.Text#menge
我的目标是有一个周围的div和一个类,以便更好地定位CSS。
如何使用UI5实现这一点?HTML控件的内容聚合只允许字符串,这里新的sap.m.Text将转换为字符串。您可以创建自己的包装器控件
sap.ui.core.Control.extend("my.Wrapper", {
metadata : {
defaultAggregation : "content",
aggregations : {
content : {type : "sap.ui.core.Control", multiple : true }
}
},
renderer: {
render : function(oRm, oControl) {
oRm.write("<div");
oRm.writeControlData(oControl);
oRm.addClass("myWrapper");
oRm.writeClasses();
oRm.write(">");
oControl.getContent().forEach(function(oChild) {
oRm.renderControl(oChild);
});
oRm.write("</div>");
}
}
});
HTML控件的内容聚合只允许字符串,此处新的sap.m.Text将强制转换为字符串。您可以创建自己的包装器控件
sap.ui.core.Control.extend("my.Wrapper", {
metadata : {
defaultAggregation : "content",
aggregations : {
content : {type : "sap.ui.core.Control", multiple : true }
}
},
renderer: {
render : function(oRm, oControl) {
oRm.write("<div");
oRm.writeControlData(oControl);
oRm.addClass("myWrapper");
oRm.writeClasses();
oRm.write(">");
oControl.getContent().forEach(function(oChild) {
oRm.renderControl(oChild);
});
oRm.write("</div>");
}
}
});