本教程前一步骤,SAP UI5 应用开发教程之一百二十三 - 使用 Busy Dialog 动画阻止 SAP UI5 应用按钮短时间内快速被点击,我们使用了 SAP UI5 提供的 BusyDialog 控件,来避免某个按钮短时间内被用户高频次重复点击,造成大量不必要的发送往后台服务器的网络请求。
使用了 sap.m.BusyDialog 的 SAP UI5 应用,效果如下 gif 动画所示:
这种实现方式虽然能从根本上避免短时间按钮被高频点击的问题,但同时 Busy Dialog 也锁住了整个应用的界面,在此期间用户无法进行进一步的操作。
有些朋友受到了步骤 123 的启发,想出了如下的解决方案:
涉及一对函数,enableSendButton 和 disableSendButton,如下图图例1和2所示:
(1) 当按钮被点击时,调用 disableSendButton,暂时禁用按钮,如下图图例A 所示。
(2) 当请求返回到 SAP UI5 前端时,调用 enableSendButton,重新启用按钮,如下图图例B 所示。
这样,我们既避免了 UI 界面被锁住,又能防止用户短时间内快速点击按钮。