SAPUI5:向导/分支-等待在完成向导步骤事件时返回OData



我的问题如下。

我有一个处于分支模式的向导。在完成向导的一个步骤时,会调用complete方法。在这个方法中,我向后端发送一个OData调用,以确定应该显示的NextStep。因此,调用将返回尚未定义的NextStep,并且框架将崩溃,并出现未定义NextStef的错误。

那么,有没有一种方法可以在不破坏框架的情况下暂停/等待/睡眠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">

StepOneComplete:示例

onStepOneComplete: function(oEvent) {

this.getView().getModel().submitChanges();
var iNextStep = parseInt(this.getView().getModel().getProperty("/SomeSet('123')/NextStep"), 10);
this.byId("Step1").setNextStep(iNextStep);
}

尝试使用submitChanges的"success"回调

类似于:

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"属性,但为了清楚地说明我的建议,我留下了您的代码。

最新更新