SAPUI5:当元素显示来自Odata的数据时如何触发事件?

时间:2017-04-24 14:29:11

标签: sapui5

我想在元素完全显示来自odata服务的绑定数据时触发事件。

哪个事件适合那个?

请注意,可能会发生odata加载,而在元素内部显示数据需要一些时间。

var oObjectListItem = new sap.m.ObjectListItem();
                var aItems = [
                    "title",
                    "number",
                    "numberUnit",
                    "intro",
                    "icon",
                    "activeIcon",
                    "iconDensityAware",
                    "markFavorite",
                    "markFlagged",
                    "showMarkers",
                    "numberState",
                    "titleTextDirection",
                    "introTextDirection",
                    "numberTextDirection",
                    "markLocked",
                    "type",
                    "visible",
                    "unread",
                    "selected",
                    "counter"
                ];
                for (var k = 0; k < aItems.length; k++) {
                    if (typeof this._aTabs[i].oTabHeaderBindingInfos[aItems[k]] === "object" && this._aTabs[i].oTabHeaderBindingInfos[aItems[k]]) {
                        oObjectListItem.bindProperty(aItems[k], this._aTabs[i].oTabHeaderBindingInfos[aItems[k]]);
                    } else if (this._aTabs[i].oTabHeaderBindingInfos[aItems[k]]) {
                        oObjectListItem.setProperty(aItems[k], this._aTabs[i].oTabHeaderBindingInfos[aItems[k]]);
                    }
                }

1 个答案:

答案 0 :(得分:1)

正如聊天所讨论的那样: 我们将编写自己的onAfterRendering方法:

oControl.addEventDelegate({ 
   "onAfterRendering": function(){ 
     console.log('called'); 
     // Custom Logic
  } 
})

oControl是你的ObjectListItem。

注意:它会调用两次。没有数据的第一次和bindng完成时的第二次

让我知道这是否有效