SAPUI5如何使sap.m.Wizard处理8个以上的步骤

时间:2017-05-17 09:34:52

标签: sapui5 wizard

有没有办法让sap.m.Wizard能够处理8个以上的步骤,还是有任何替代这个控件?实际上,当我放8个以上时,它没有显示其他步骤。

非常感谢你的任何提示。

此致

A线

1 个答案:

答案 0 :(得分:2)

我刚检查了sap.m.Wizard的源代码:https://github.com/SAP/openui5/blob/master/src/sap.m/src/sap/m/Wizard.js

有一个常数可以将步数限制为8(正如您已经发现的那样)。

此常量用于方法Wizard.prototype._isMaxStepCountExceeded。然后在Wizard.prototype.addStep

中使用此方法

我看到了3种可能性。其中2个包括继承向导:

  • 将子类中的常量Wizard.CONSTANTS.MAXIMUM_STEPS覆盖为大于8的值。
  • 覆盖子类中的addStep方法,以便无限制地执行步骤。
  • 如果启用了分支,则向导会忽略常量MAXIMUM_STEPS。但这对我来说似乎不是一个好的解决方案,因为它需要更改XML中的每个WizardStep。

编辑:这是一个完整的子类化示例

sap.ui.define([
    "sap/m/Wizard"
], function(Wizard) {
    "use strict";

    return Wizard.extend("mynamespace.InfiniteWizard", {

        renderer: {},

        addStep: function (wizardStep) {
            this._incrementStepCount();
            return this.addAggregation("steps", wizardStep);
        }
    });
});