单击“下一步”

时间:2019-06-26 08:12:18

标签: javascript sapui5 wizard

尝试使用SAPUI5创建向导时,例如,当我单击“步骤2”时,找不到如何阻止向导进入下一步的方法。我需要检查一些东西,但我不想隐藏“第2步”按钮,我想在单击它后进行验证。

我的向导步骤:

<WizardStep id="step1" validated="true" title="Step1" complete="goToTwo"></WizardStep>

我已尝试在goToTwo函数中使用此方法以获取完整方法,以防止向导进行下一步,但此方法无效:

goToTwo: function (oEvent) {
        var cntrlStep1 = this.getView().byId("step1");
        this.getView().byId("wizard").goToStep(cntrlStep1);
    },

2 个答案:

答案 0 :(得分:1)

一个可能的解决方案是更改向导步骤的validated属性。 我假设您想从未验证状态开始,以确保除非完成验证,否则用户无法进入步骤2:

在这种情况下,您可以从validated = false开始:

<WizardStep id="step1" validated="false" title="Step1" complete="goToTwo"></WizardStep>

或者如果您想在JS中设置validated属性:

在JS中

var step1 = this.getView().byId('step1');
step1.setValidated(false);

验证完成后,您可以将验证状态设置为true,然后可以继续执行步骤2

var step1 = this.getView().byId('step1');
step1.setValidated(true);

答案 1 :(得分:0)

goToTwo: function(oEvent){
  var step = this.byId("step1");
  var wizard = this.byId("wizard");
  if (you need to put your validation here){
     wizard .discardProgress(step);
     oEvent.destroy();

  }
}