sapui5 - 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
上面的两者成为同一事物。结果是一样的……
解决方案
您必须添加oRm.writeControlData(oControl);
到renderer
在你的情况下
renderer : function(manager, myControl) {
manager.write("<div");
manager.writeControlData(myControl);
manager.write(">");
manager.write("Some html stuff");
manager.write("</div>");
}
推荐阅读
- vue.js - 在 Vuejs 中使用 v-html 渲染本地存储的图像
- node.js - nvm让firebase消失了吗?
- excel - 通过 VBA 将文件导出为 pdf 时,范围似乎无法识别
- regex - 正则表达式在一行中多次匹配
- javascript - CORS 阻止本地文件加载另一个本地文件 - WTF?
- cassandra - 从表中选择数据的where条件
- api - YouTube 数据 API V3 未从频道 ID 返回直播
- python-3.x - 在父静态方法中使用子静态变量
- c++ - 在 android 上运行 Caffe2 模型 - 我的模型在 android 设备上运行非常缓慢(未完成初始化阶段)
- java - 如何用泛型三重奏重载构造函数?