我创建了一个自定义控件,其中有5个属性,并基于它们渲染图形,如下所示:
renderer : function(manager, myControl) {
manager.write("<div>");
manager.write("Some html stuff");
manager.write("</div>");
}
在这里一切正常,并使用我预先选择的模型数据渲染图形。当我尝试在运行时更改某些主体时,问题就来了。在方法rerender
中,当某些属性被更改但未应用呈现时,将触发代码。方法本身是相同的,只是经理被实例化了。
rerender : function() {
console.log("trigger");
var manager = new sap.ui.core.RenderManager();
manager.write("<div>");
manager.write("Some html stuff");
manager.write("</div>");
}
我还尝试创建一个全局对象manager
,并使上面的两个managers
成为同一对象。结果是一样的...
答案 0 :(得分:2)
您必须将oRm.writeControlData(oControl);
添加到renderer
以您的情况
renderer : function(manager, myControl) {
manager.write("<div");
manager.writeControlData(myControl);
manager.write(">");
manager.write("Some html stuff");
manager.write("</div>");
}
浏览How to create a custom UI5 control中的oRm.writeControlData(oControl);
部分