尝试使用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);
},
答案 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();
}
}