SAPUI5自定义控件呈现器无法按预期工作

时间:2018-07-30 15:02:37

标签: sapui5

我创建了一个自定义控件,其中有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成为同一对象。结果是一样的...

1 个答案:

答案 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);部分