【问题标题】:Vue.js 2.0 Multi-step WizardVue.js 2.0 多步向导
【发布时间】:2017-06-08 06:09:51
【问题描述】:

我正在使用 Vue.js 2.0 开发一个多步骤向导。

我基于我使用 vue 1.0.26 找到的一个示例。

我已经更新了代码,并认为它是 90%,但无法弄清楚如何修复它,这是我的代码的 sn-p

data: {
    currentstep : 1,
    indicatorclass: true,
    step: 1,
    active: 1,
    firststep: 1,
    nextStep: 2,
    lastStep: 0,
    laststep: 3,
    steps: [
        { 
            id: 1, 
            title: 'Position', 
            icon_class: "fa fa-map-marker" 
        }, { 
            id: 2, 
            title: 'Category', 
            icon_class: "fa fa-folder-open" 
        }, { 
            id: 3, 
            title: 'Send', 
            icon_class: "fa fa-paper-plane" 
        }
    ]
},

完整项目可见here。您可以看到它完成了这些步骤,但引发了突变错误。一定还有其他问题,因为步数指示器在下面显示的时候不应该(而且是错误的)。

【问题讨论】:

    标签: javascript laravel vue.js vuejs2 vue-component


    【解决方案1】:

    两件事:

    1. 将您的模板移到 HTML 的其余部分之外。它们不是文档流的一部分。对我来说,这消除了多余的步数指示器。
    2. 而不是修改事件中的道具发出:

      this.$emit('step-change', ++this.currentstep)
      

      将新值作为计算发送:

      this.$emit('step-change', this.currentstep + 1)
      

      所以你没有改变道具。

    【讨论】:

    • 谢谢罗伊,现在很有意义,这解决了我的两个问题!更新了CodePen,并将模板从 HTML 移到了 JS 中。
    • 知道如果向导包含在进入下一步之前需要填写的表单字段会是什么样子吗?
    • @Mike 我希望“下一步”按钮有一个绑定,可以将其设置为禁用,直到填写表单字段。
    • @RoyJ 是的,但是,下一个按钮必须有一个绑定,根据向导中的位置执行不同的字段。
    • @Mike 当然,您必须以某种方式对其进行建模。我会创建一个方法currentStepIsValid 来控制按钮的禁用状态。我知道当前的步骤,也知道它需要什么,所以我可以实现它。
    猜你喜欢
    • 1970-01-01
    • 2017-08-10
    • 2017-01-10
    • 2023-03-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多