SAPUI5 sap.m.ListBase.getItems()返回以前的内容?

2020-09-15 10:47发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)你好大师, 我的应用程序...

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


你好大师,

我的应用程序中只有一小段代码,可以执行以下操作:

1。 刷新模型

2。 应用过滤器

3。 使用.getItems()方法获取表的项目

4。 在项目上循环并应用CSS

在测试CSS时,注意到有些不对劲,第二次我使用相同的过滤器按下按钮时,正确的CSS属性被应用。 开始调试,一旦进入循环,我发现.getItems()方法似乎返回了表的先前内容。 还注意到在打开调试器并逐步进行操作时,即在实际内容出现在屏幕上之前,与先前数据相对应且具有正确的css属性的先前列表在屏幕上闪烁了片刻。 认为该方法是异步的,因此我必须在成功函数中实现循环,但是当我访问文档时( https://sapui5.hana.ondemand.com/#/api/sap.m.ListBase/methods/getItems ),我注意到 方法不接受此类参数。

如果以上内容正确无误,我该如何检索表的实际内容?

在下面嵌入代码(实际上是4行,其余部分是循环)。

此致

格雷格

 oView.getModel(" Report")。refresh(true,true);
 this.byId(" statusReportTable")。getBinding(" items")。filter(oTableSearchState);
 this.getModel(" Global")。setProperty("/img/statusTableVisible",true);


 this.oStsTable = this.getView()。byId(" statusReportTable");
 var aItems = this.oStsTable.getItems();
 如果(aItems && aItems.length> 0){
 for(var i = 0; i  

1条回答
clever101
2020-09-15 11:03

发布之前应该更加耐心。 找到了答案,只需要在表上附加一个updateFinished事件,然后在其中放置getItems()方法即可。

一周热门 更多>