我的问题如下。
我有一个处于“分支”模式的向导。完成向导步骤后,将调用complete方法。在此方法中,我向后端发送OData调用以确定应该显示的NextStep。因此,调用将返回尚未定义的NextStep,并且框架将崩溃,并显示错误,即未定义NextStep。
那么有没有一种方法可以暂停/等待/休眠以返回OData调用而不会导致框架崩溃?
我将不胜感激。 谢谢!
示例XML:
<Wizard id="MainWizard" complete="wizardCompletedHandler" enableBranching="true">
<WizardStep id="Step1" title="title" validated="true" subsequentSteps="Step2, Step3" complete="onStepOneComplete"
icon="sap-icon://multi-select">
onStepOneComplete示例:
onStepOneComplete: function(oEvent) {
this.getView().getModel().submitChanges();
var iNextStep = parseInt(this.getView().getModel().getProperty("/SomeSet('123')/NextStep"), 10);
this.byId("Step1").setNextStep(iNextStep);
}
答案 0 :(得分:0)
尝试使用submitChanges
的“成功”回调
类似的东西:
onStepOneComplete: function(oEvent) {
var that = this; // needed to keep "this" object in callback
this.getView().getModel().submitChanges({
success: function(oResponse){
var iNextStep = parseInt(
that.getView().getModel().getProperty("/SomeSet('123')/NextStep"), 10
);
that.byId("Step1").setNextStep(iNextStep);
}
});
}
您可以从oResponse
对象而不是模型中获取“ NextStep”属性,但是为了清楚起见,我留下了您的代码。