如何解决UI5:刷新表,其中包含相对时间戳,而模型没有更改
问题
我目前正在处理包含表的视图。列之一是表中元素最近一次更新的相对时间戳(最近更新:6秒前),使用
<Text text="{
path: 'lastUpdate',type: 'sap.ui.model.type.DateTime',formatOptions: {
source: {pattern: 'yyyy-MM-ddTHH:mm:ss.SSSZZZZ'},relative: true,relativeScale: 'auto'
}
}"/>
直到现在,我已经通过每个get请求从后端传输了当前模型,因此视图总是在每次更新时都使用模型进行更新。但是,为了节省带宽,我决定将If-Modified-Since
条件放入通话中,以便后端仅在自上次通话以来实际上已对其进行了更新的情况下才向我发送模型,否则它将返回304。 / p>
但是,我现在遇到的问题是,由于不再替换模型,视图也同样不会更新,并且最近的事件将停留在例如“最新更新:15秒前”可能持续了几分钟;直到出现新的更新。
问题
我正在寻找一个函数,该函数告诉视图(甚至只是表或特定的列)根据新的当前时间刷新其内容,即使基础数据没有更改。
到目前为止,我找到并尝试了
that.byId("myTable").getBinding("items").refresh();
但是我认为这没做任何事情,因为它仍然认识到数据没有更改。
编辑:按已接受的答案致电that.getView().getModel().refresh(true);
确实产生了预期的结果。
解决方法
您是否尝试过使用.refresh(true)
sap.ui.model.odata.v2.ODataListBinding的DemoKit显示:
refresh(bForceUpdate?,sGroupId?) : void
bForceUpdate的意思是“即使没有数据更改也更新绑定的控件”
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。