You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Vuetify 2垂直非线性v-stepper第二步内容不显示求助

Vuetify 2垂直非线性步进器第二步内容不显示的解决方法

问题原因

你的代码缺少对步进器激活状态的绑定控制,在Vuetify 2的non-linear(非线性)模式下,v-stepper-content的显示依赖于当前激活的步骤值,仅靠complete属性无法自动触发内容显示。

修正后的代码

<template>
  <v-stepper vertical non-linear v-model="activeSteps">
    <v-stepper-items>
      <v-stepper-step step="1" :complete="activeSteps.includes(1)">
        1 Step
      </v-stepper-step>

      <v-stepper-content step="1">
        This is the Step 1
      </v-stepper-content>

      <v-stepper-step step="2" :complete="activeSteps.includes(2)">
        2 Step?
      </v-stepper-step>

      <v-stepper-content step="2">
        This is the Step 2
      </v-stepper-content>
    </v-stepper-items>
  </v-stepper>
</template>

<script>
export default {
  data() {
    return {
      activeSteps: [1, 2] // 默认激活步骤1和2,同时显示对应内容
    }
  }
}
</script>

关键修改点

  • 给v-stepper添加v-model="activeSteps",通过数组变量控制多个激活的步骤(非线性模式支持数组类型的v-model)
  • 将complete属性改为动态绑定:complete="activeSteps.includes(stepNumber)",根据激活状态标记步骤完成
  • 移除v-stepper-content上无效的complete属性,该属性仅适用于v-stepper-step组件

如果需要点击步骤切换显示内容,可给v-stepper-step添加点击事件并修改activeSteps数组:

<v-stepper-step step="2" :complete="activeSteps.includes(2)" @click="toggleStep(2)">
  2 Step?
</v-stepper-step>

对应添加方法:

toggleStep(step) {
  const index = this.activeSteps.indexOf(step)
  if (index > -1) {
    this.activeSteps.splice(index, 1)
  } else {
    this.activeSteps.push(step)
  }
}

内容的提问来源于stack exchange,提问作者Augusto

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.19 11:17:13