sapui5 - 忙碌指示器 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);
},
解决方案
Normaly busy indicaotr 不适用于少于 1 秒的 ajax/odata 调用。
为此用途
sap.ui.core.BusyIndicator.show( 0 )
传递 '0' 以立即启动它并确保所有 odata 调用都是异步的。
推荐阅读
- r - 使用 as.character(as.Date()) 转换原始因子变量 Date 列后按特定日期对数据框进行子集
- mysql - 如何更新数据库记录并仍然使用 laravel 保留旧值?
- ios - 在 Swift4 中创建一个函数以编程方式从字符串数组创建 UILabel
- java - 如何从pdf中获取阴影填充值?
- python - imshow 彩色图像,错误地显示为蓝色
- c# - 在另一个类的方法中传递要访问的类的哪个成员
- ios - 多个 UITapGestureRecognizer 在 UIScrollView 上不起作用
- android - 如何在android坐标布局中半重叠frameLyout
- mysql - 当我调用存储过程 1 时,我想阅读有关它的特定列并将它们作为存储过程 2 的输入
- regex - 正则表达式无法阻止使用 I、V、X 和 SR/JR 组成的后缀名称匹配