Skip to content

Steps 步骤条

介绍

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

引入

通过以下方式来引入组件。

js
import { createApp } from 'vue';
import { Steps } from '@szhn/dh-design-mobile';

const app = createApp();
app.use(Steps);

代码演示

基础用法

active 属性表示当前步骤的索引,从 0 起计。

html
<van-steps :active="active">
  <van-step>买家下单</van-step>
  <van-step>商家接单</van-step>
  <van-step>买家提货</van-step>
  <van-step>交易完成</van-step>
</van-steps>
js
import { ref } from 'vue';

export default {
  setup() {
    const active = ref(1);
    return { active };
  },
};

自定义样式

可以通过 active-iconactive-color 属性设置激活状态下的图标和颜色。

html
<van-steps :active="active" active-icon="success" active-color="#07c160">
  <van-step>买家下单</van-step>
  <van-step>商家接单</van-step>
  <van-step>买家提货</van-step>
  <van-step>交易完成</van-step>
</van-steps>

竖向步骤条

可以通过设置 direction 属性来改变步骤条的显示方向。

html
<van-steps direction="vertical" :active="0">
  <van-step>
    <h3>【城市】物流状态1</h3>
    <p>2016-07-12 12:40</p>
  </van-step>
  <van-step>
    <h3>【城市】物流状态2</h3>
    <p>2016-07-11 10:00</p>
  </van-step>
  <van-step>
    <h3>快件已发货</h3>
    <p>2016-07-10 09:30</p>
  </van-step>
</van-steps>

API

Steps Props

参数说明类型默认值
active当前步骤对应的索引值number | string0
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

类型定义

组件导出以下类型定义:

ts
import type { StepsProps, StepsDirection } from '@szhn/dh-design-mobile';

主题定制

样式变量

组件提供了下列 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)-