list - SAPUI5 sap.m.ListBase.getItems() 返回以前的内容?
问题描述
我的应用程序执行以下操作:
- 刷新模型
- 应用过滤器
- 使用
.getItems()
- 在项目上循环并应用 CSS
在测试 CSS 时,注意到有些地方不对劲,当我第二次按下具有相同过滤器的按钮时,正确的 CSS 属性被应用。开始调试,当我到达循环时,我发现.getItems()
似乎返回了表的先前内容。
还注意到在打开调试器并逐步进行时,就在实际内容出现在屏幕上之前,与先前数据相对应的先前列表和正确的 CSS 属性在屏幕上闪烁片刻。认为该方法是异步的,我必须在成功函数中实现循环,但是当我访问文档List getItems()时,我注意到该方法不接受此类参数。
如果以上内容正确并且我没有遗漏任何内容,我该如何检索表格的实际内容?
下面嵌入的代码(实际上是 4 行,其余部分是循环),在此先感谢。
oView.getModel("Report").refresh(true, true);
this.byId("statusReportTable").getBinding("items").filter(oTableSearchState);
this.getModel("Global").setProperty("/statusTableVisible", true);
this.oStsTable = this.getView().byId("statusReportTable");
var aItems = this.oStsTable.getItems();
if (aItems && aItems.length > 0) {
for (var i = 0; i < aItems.length; i++) {
if (i === aItems.length - 1) {
aItems[i].addStyleClass("pinkBackground");
} else {
var even = i % 2;
if (even !== 0 && i < aItems.length) {
aItems[i].addStyleClass("cyanBackground");
}
}
}
}
解决方案
发帖前应该多一些耐心。找到了答案,只需将事件附加updateFinished
到桌子上并将其getItems()
放入其中即可。
推荐阅读
- android - 有时恢复应用程序时,repository.liveData.value 返回 null
- reactjs - 用于选项卡式导航的不同标题按钮反应原生
- java - 传递具体类时无法解析方法
- flutter - 在 Flutter 中通过 Connectivity 中的小部件检查
- python - 谁能解释一下 tf.dataset 中 shuffle 的功能是如何工作的?
- java - 与java中的异常处理相关的错误
- python - 有没有办法导入不存在的模块而不会出错?
- mongodb - 关于 Mongo Group by where arr.length>0
- slack - 斜杠命令“dispatch_failed”
- hive - presto + Hive 安全配置