按钮被禁用但仍然收听按事件

时间:2018-04-25 18:03:07

标签: sapui5

我在.catch中有一个提交按钮。按下它,我有一个订单创建过程。如果我在按钮上多次单击,则会创建多个订单。有没有办法可以在第一次点击后禁用它?

我已经在我的控制器中写了下面的代码,但似乎仍然听到了新闻动作:

<VBox>

但这并没有完全禁用。虽然在控制台中,当我使用onSubmit: function(oEvent) { this.getView().byId("save").setVisible(false); //...... }, 进行检查时,它会设置为getEnabled()。如何在禁用时停止按听按钮事件?

3 个答案:

答案 0 :(得分:0)

我认为问题是setVisible与启用/禁用不同。 也许你可以尝试改变

setVisible(false);

setAttribute("disabled", true);

答案 1 :(得分:0)

我可以建议以下解决方案:

  1. 点击按钮后立即将“启用”属性设置为“ false 通过针对JSON模型的属性绑定。执行 async 操作后(即成功/失败回调) - 通过将“ enabled ”设置为“ true来释放按钮状态
  2. 点击按钮后 - 将“ busy ”属性设置为“ true ”(不要忘记设置“ busyIndi​​catorDelay “到0”。释放概念与第1点相同。
  3. 在我看来,这些方法更具有UI5特定性。我个人会选择选项2,因为它显示了以更突出的方式处理用户的状态。

答案 2 :(得分:-1)

希望波纹管代码能正常工作。制作SetVisible(false)只需隐藏按钮。

Controller: onSubmit: function(oEvent) { this.getView().byId("save").setAttribute("disabled", true);  

检查一下:https://www.webdeveloper.com/forum/d/147187-how-to-disable-enable-submit-button-using-javascript
详细了解