首页 > 解决方案 > 忙碌指示器 SAP UI5

问题描述

每当有人单击“保存”按钮时,我都想包含一个忙碌指示符。我按照 Demo kit 上的示例编写了代码。当购物车中只有少量物品时它可以正常工作,但如果购物车中有很多物品,则在 Odata 调用结束和成功下订单后会显示忙碌指示符。按下按钮时不会立即显示忙碌指示灯。知道为什么会这样吗?

hideBusyIndicator : function() {
            sap.ui.core.BusyIndicator.hide();
        },

showBusyIndicator : function (iDuration, iDelay) {
            sap.ui.core.BusyIndicator.show(iDelay);

            if (iDuration && iDuration > 0) {
                if (this._sTimeoutId) {
                    jQuery.sap.clearDelayedCall(this._sTimeoutId);
                    this._sTimeoutId = null;
                }

                this._sTimeoutId = jQuery.sap.delayedCall(iDuration, this, function() {
                    this.hideBusyIndicator();
                });
            },


onSaveButtonPressed: function() 
{
 this.showBusyIndicator(4000, 0);
},

标签: sapui5busyindicator

解决方案


Normaly busy indicaotr 不适用于少于 1 秒的 ajax/odata 调用。

为此用途

sap.ui.core.BusyIndi​​cator.show( 0 )

传递 '0' 以立即启动它并确保所有 odata 调用都是异步的


推荐阅读