我目前在渲染sap.suite.ui.microchart.InteractiveDonutChart.时遇到了问题我想在自定义控件中呈现它。当我尝试呈现一个像sap.m.Text这样的简单控件时,它工作得很好。然而,它没有与甜甜圈图表。但是,在控制器中生成这样的甜甜圈图是很好的。对为什么这不管用有什么想法吗?它不会给我任何错误..。
集合体
aggregations: {
content: {
type: "sap.ui.core.Control",
multiple: true,
singluarName: "content"
}
}渲染器
//start of content
oRM.write("<div ");
oRM.addClass("cardContent");
oRM.writeClasses();
oRM.write(">");
oRM.renderControl(oControl.getChosenControl());
oRM.renderControl(oControl.getChosenControl2());
oRM.write("</div>"); // close div 3
//end of content函数
getChosenControl: function() {
var flexBox = new sap.m.FlexBox({
width: "90%",
alignItems: "Center"
});
var textField = new sap.m.Text({
text: "Dynamically created textfield"
});
flexBox.addItem(textField);
return flexBox;
},
getChosenControl2: function() {
var flexBox = new sap.m.FlexBox({
width: "90%",
alignItems: "Center"
});
var donutChart = new sap.suite.ui.microchart.InteractiveDonutChart();
for (var i = 0; i < 3; i++) {
var segment = new sap.suite.ui.microchart.InteractiveDonutChartSegment();
segment.setLabel("Parter");
segment.setValue(50);
segment.setDisplayedValue("50 %");
donutChart.addSegment(segment);
}
flexBox.addItem(donutChart);
return flexBox;
}发布于 2017-12-08 14:49:56
其实我自己找到了解决办法。我首先用'AddContent‘方法将它添加到聚合'content’中。下一步是使用'getContent‘方法获取内容。最后一步是呈现返回的内容。
//start of content
oRM.write("<div ");
oRM.addClass("cardContent");
oRM.writeClasses();
oRM.write(">");
//add content
oControl.addContent(oControl.getChosenControl2());
//get content
var items = oControl.getContent();
//render items
for (var i = 0; i < items.length; i++) {
oRM.renderControl(oControl.getContent()[i]);
}
oRM.write("</div>"); // close div 3
//end of contenthttps://stackoverflow.com/questions/47636263
复制相似问题