Skip to content

Steps 步骤条 - Vant 4

Steps 步骤条

介绍

用于展示操作流程的各个环节,让用户了解当前的操作在整体流程中的位置。

引入

通过以下方式来全局注册组件,更多注册方式请参考组件注册

js
import { createApp } from'vue'; import { Step, Steps } from'vant'; const app = createApp(); app.use(Step); app.use(Steps);

🎯 代码演示

📋 基础用法

通过 active 属性控制当前步骤,让用户清晰了解操作进度。索引从 0 开始计算,就像数组一样简单!

html
<template>
  <van-steps :active="active">
    <van-step>买家下单</van-step>
    <van-step>商家接单</van-step>
    <van-step>买家提货</van-step>
    <van-step>交易完成</van-step>
  </van-steps>
  
  <div class="demo-buttons">
    <van-button @click="nextStep" type="primary">下一步</van-button>
  </div>
</template>

<script>
import { ref } from 'vue';

export default {
  setup() {
    const active = ref(1);
    
    const nextStep = () => {
      if (active.value < 3) {
        active.value++;
      }
    };
    
    return { 
      active,
      nextStep
    };
  },
};
</script>

<style>
.demo-buttons {
  margin-top: 20px;
  text-align: center;
}
</style>

🎨 自定义样式

通过 active-iconactive-color 属性,打造独特的视觉效果,让步骤条更符合你的品牌风格!

html
<template>
  <van-steps 
    :active="active" 
    active-icon="success" 
    active-color="#38f"
  >
    <van-step>注册账号</van-step>
    <van-step>验证邮箱</van-step>
    <van-step>完善信息</van-step>
    <van-step>开始使用</van-step>
  </van-steps>
</template>

<script>
import { ref } from 'vue';

export default {
  setup() {
    const active = ref(2);
    return { active };
  },
};
</script>

📱 竖向步骤条

设置 direction="vertical" 属性,适配移动端的纵向布局,节省横向空间!

html
<template>
  <van-steps 
    :active="active" 
    direction="vertical"
    active-color="#ff6034"
  >
    <van-step>
      <h3>订单确认</h3>
      <p>请确认订单信息</p>
    </van-step>
    <van-step>
      <h3>支付订单</h3>
      <p>选择支付方式完成付款</p>
    </van-step>
    <van-step>
      <h3>订单发货</h3>
      <p>商家正在准备发货</p>
    </van-step>
    <van-step>
      <h3>确认收货</h3>
      <p>收到货物后请确认</p>
    </van-step>
  </van-steps>
</template>

<script>
import { ref } from 'vue';

export default {
  setup() {
    const active = ref(1);
    return { active };
  },
};
</script>

📋 API

🎛️ Steps Props

参数说明类型默认值
active📍 当前步骤对应的索引值*numberstring*
direction📐 步骤条方向,可选值为 verticalstringhorizontal
active-icon✅ 当前步骤对应的底部图标,可选值见 Icon 组件stringchecked
inactive-icon⚪ 非当前步骤对应的底部图标,可选值见 Icon 组件string-
finish-icon🏁 已完成步骤对应的底部图标,优先级高于 inactive-icon,可选值见 Icon 组件string-
active-color🎨 当前步骤和已完成步骤的颜色string#1989fa
inactive-color🔘 未激活步骤的颜色string#969799
icon-prefix🏷️ 图标类名前缀,等同于 Icon 组件的 class-prefix 属性stringvan-icon

🎪 Step Slots

名称说明
default📝 步骤内容
active-icon✨ 自定义激活状态图标
inactive-icon🔘 自定义未激活状态图标
finish-icon🎯 自定义已完成步骤对应的底部图标,优先级高于 inactive-icon

🎪 Steps Events

事件名说明回调参数
click-step👆 点击步骤的标题或图标时触发index: number

📘 类型定义

组件导出以下类型定义,方便在 TypeScript 项目中使用:

ts
import type { StepsProps, StepsDirection } from 'vant';

🎨 主题定制

🎭 样式变量

组件提供了下列 CSS 变量,可用于自定义样式,使用方法请参考 ConfigProvider 组件

名称默认值描述
--van-step-text-colorvar(--van-text-color-2)📝 步骤文字颜色
--van-step-active-colorvar(--van-primary-color)✨ 激活步骤颜色
--van-step-process-text-colorvar(--van-text-color)🔄 进行中步骤文字颜色
--van-step-font-sizevar(--van-font-size-md)🔤 步骤文字大小
--van-step-line-colorvar(--van-border-color)📏 连接线颜色
--van-step-finish-line-colorvar(--van-primary-color)🏁 完成步骤连接线颜色
--van-step-finish-text-colorvar(--van-text-color)✅ 完成步骤文字颜色
--van-step-icon-size12px🔘 步骤图标大小
--van-step-circle-size5px⭕ 步骤圆点大小
--van-step-circle-colorvar(--van-gray-6)🔘 步骤圆点颜色
--van-step-horizontal-title-font-sizevar(--van-font-size-sm)📐 水平步骤标题字体大小
--van-steps-backgroundvar(--van-background-2)🎨 步骤条背景色

🔗 相关文档

🧭 导航组件

  • NavBar 导航栏 - 🧭 为页面提供导航功能,常用于页面顶部
  • Tab 标签页 - 📑 分隔内容上有关联但属于不同类别的数据集合
  • Tabbar 标签栏 - 📱 底部导航栏,用于在不同页面之间进行切换
  • Sidebar 侧边导航 - 📋 垂直展示的导航菜单,一般用于后台管理系统

📊 展示组件

💬 反馈组件

🛠️ 工具组件

基於Vant構建的企業級移動端解決方案