SAPUI5 1.71.1을 사용하고 있습니다.
마법사 컨트롤에 이상한 문제가 있습니다. 사용자가 이전 단계로 돌아가서 다음 단계에 영향을 미치는 데이터를 변경하는 경우,이를 취소해야합니다. 작동 예제는 SAPUI5 데모 키트에서 사용할 수 있습니다 : https://sapui5.hana.ondemand.com/1.71.1/#/entity/sap.m.Wizard/sample/sap.m.sample.WizardBranching
주어진 예에서 3 단계로 이동 한 다음 2 단계로 돌아가서 결제 옵션을 변경하면 팝업이 나타나고 진행 상황을 취소하라는 메시지가 표시됩니다. 그런 다음 다음 버튼이 나타나고 다시 3 단계를 계속할 수 있습니다.
이 다음 버튼을 클릭하지 않고 method를 사용하여 자동으로 3 단계로 이동합니다 myWizard.nextStep()
.
setDiscardableProperty: function(params) {
if (this._wizard.getProgressStep() !== params.discardStep) {
MessageBox.warning(params.message, {
actions: [MessageBox.Action.YES, MessageBox.Action.NO],
onClose: function(oAction) {
if (oAction === MessageBox.Action.YES) {
this._wizard.discardProgress(params.discardStep);
history[params.historyPath] = this.model.getProperty(params.modelPath);
this._wizard.nextStep(); // not working properly
} else {
// ...
}
}.bind(this)
});
} else {
// ...
}
},
일반적으로 다음 단계 버튼을 클릭하면 스크롤이 다음 단계로 이동하고 이전 단계를 숨 깁니다.
그러나을 nextStep()
호출 한 직후에 메서드를 사용하면 discardProgress()
스크롤이 트리거되지 않기 때문에 이전 단계가 더 이상 숨겨지지 않습니다.
SAP에서 제공 한 샘플을 기반으로 문제를 이해하는 데 도움이되도록 plunk를 만들었습니다. https://plnkr.co/edit/1fRmuXOI0m9VuDJq?open=lib%2Fscript.js&preview
수정 될 수있는 버그처럼 보입니다. * 그때까지는 크게 변경하지 않고 nextStep
다음 브라우저 이벤트주기 (예 : via setTimeout
) 에서 를 호출하기 만하면 됩니다.
this._wizard.discardProgress(params.discardStep);
//...
setTimeout(() => this._wizard.nextStep()); // for UI5 1.73 and below
* 업데이트 : 이 문제는 UI5 1.74.0부터 더 이상 재현 할 수 없습니다.
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다