SAPUI5-向导-丢弃进度后,下一步无法正常工作

问题描述 投票:0回答:1

((我正在使用SAPUI 1.71.1,但是在1.75中会发生相同的行为。)

上下文:向导组件存在一个奇怪的问题。当用户返回上一步并更改会影响后续步骤的数据时,必须完成displaceProgress。SAPUI5文档中有一个可用的示例:https://sapui5.hana.ondemand.com/1.71.1/#/entity/sap.m.Wizard/sample/sap.m.sample.WizardBranching

在给定的示例中,如果您转到第3步,然后回到第2步,然后更改付款方式,则会出现一个弹出窗口,要求您放弃进度。然后,出现下一个按钮,您可以再次继续执行步骤3。

我想避免单击此下一个按钮,并使用Wizard.nextStep()方法自动转到步骤3。

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);
                            // NexStep is not working
                            this._wizard.nextStep(); 
                        } else {
                            this.model.setProperty(params.modelPath, history[params.historyPath]);
                        }
                    }.bind(this)
                });
            } else {
                history[params.historyPath] = this.model.getProperty(params.modelPath);
            }
        },

怎么了?通常,当您单击“下一步”按钮时,滚动将引导您进入下一步并隐藏上一步:Result -> Normal behaviour

但是当您使用完方法throwProgress()之后使用方法nextStep()时,由于不再触发滚动,因此不再隐藏先前的步骤:Result -> What happend is not correct

根据SAP提供的示例,我制作了一个小插曲以帮助您了解问题:https://plnkr.co/edit/1fRmuXOI0m9VuDJq?open=lib%2Fscript.js&preview

您已经解决了此错误吗?

非常感谢您的帮助

sapui5 wizard
1个回答
0
投票

[看起来像是可以修复的错误。*在此之前,无需进行太多更改,只需在下一个浏览器事件周期中调用nextStep(例如,通过setTimeout)就可以了。

© www.soinside.com 2019 - 2024. All rights reserved.