SAPUI5为什么全局BusyIndi​​cator隐藏得太早?

时间:2019-03-15 16:58:33

标签: sapui5 busyindicator

我已经在routeMatched()函数中显示了我的BusyIndi​​cator

sap.ui.core.BusyIndicator.show();

稍后,在我将页面再次设置为可见后,此按钮将被隐藏。

...
...
... 

    self.getView().byId("Page1").setVisible(true);
    sap.ui.core.BusyIndicator.hide();

问题是:由于视图不久后再次显示,因此指示器再次被隐藏,但是在速度较慢的移动设备上,页面在隐藏指示器之后正在呈现。

我需要完全隐藏视图,直到完成加载。

有什么想法吗?

2 个答案:

答案 0 :(得分:0)

如果您的应用程序在渲染之前正在加载数据,请在AJAX请求的成功方法中隐藏busyIndicator

如果您使用的是oData模型,请将侦听器附加到oData模型的batchRequestCompleted事件,并在事件触发时隐藏BusyIndicator

这应该优化移动设备上的行为。 由于呈现页面的SAPUI5框架的异步行为取决于接收到的数据,尽管页面已经可见,但可能某些UI元素仍在呈现。

答案 1 :(得分:0)

解决方案是使用sap.m.busyIndi​​cator而不是sap.ui.core.BusyIndi​​cator。