Skip to content

Steps 步骤条

引导用户按照流程完成任务的导航条。融合了 Element Plus、Naive UI、Ant Design 各家之长,并首创了导航风格与可点击切换功能。

基础用法

简单的步骤条。设置 active 属性,接受一个 number,表示当前激活步骤的索引(从 0 开始)。

步骤 1
这是一段描述文字
步骤 2
这是一段描述文字
步骤 3
这是一段描述文字
基础用法

竖式步骤条

设置 direction="vertical" 可以使步骤条垂直显示。

步骤 1
这是一段描述文字
步骤 2
这是一段描述文字
步骤 3
这是一段描述文字
竖式步骤条

简洁风格

设置 simple 可以启用简洁风格的步骤条。

步骤 1
步骤 2
步骤 3
简洁风格

点状步骤条

设置 progress-dot 可以启用点状风格。

步骤 1
这是一段描述文字
步骤 2
这是一段描述文字
步骤 3
这是一段描述文字
点状步骤条

导航风格

设置 progress-dot="navigation" 可以启用导航风格的步骤条,适合流程引导场景。

步骤 1
确认订单
步骤 2
支付订单
步骤 3
完成
导航风格

步骤状态

通过 status 属性可以自定义每个步骤的状态。支持 waitprocessfinisherrorsuccess 五种状态。

完成
0
进行中
出错
0
待完成
成功
进行中
等待
步骤状态

居中对齐

设置 align-center 可以使步骤条内容居中对齐。

步骤 1
这是一段描述文字
步骤 2
这是一段描述文字
步骤 3
这是一段描述文字
居中对齐

可点击切换

设置 clickable 可以通过点击步骤来切换当前步骤。需要配合 @change 事件使用。

步骤 1
步骤 2
步骤 3

当前步骤:1

可点击切换

自定义间距

通过 space 属性可以设置每个步骤的间距,支持数字(px)或百分比字符串。

步骤 1
步骤 2
步骤 3
步骤 1
步骤 2
步骤 3
自定义间距

结束步骤状态

通过 finish-status 可以设置结束步骤的状态,默认为 finish,可选值包括 success

步骤 1
步骤 2
步骤 3
结束步骤状态

自定义插槽

通过 icontitledescription 插槽可以自定义步骤内容。

🎉
自定义标题
自定义描述内容
步骤 2
普通步骤
完成
自定义插槽

在 Nuxt 中使用

组件已完美适配 Nuxt 3,支持自动导入与 SSR。

步骤 1
步骤 2
步骤 3
Nuxt 适配

迷你尺寸

设置 size="small" 可以使用更紧凑的小尺寸步骤条。

步骤 1
描述
步骤 2
描述
步骤 3
描述
迷你尺寸

响应式布局

设置 responsive 后,当窗口宽度小于断点(默认 768px)时自动切换为垂直布局。

步骤 1
这是描述
步骤 2
这是描述
步骤 3
这是描述
响应式布局

进度条连接线

设置 show-progress 后,连接线会显示为进度条样式。配合 Step 的 progress 属性可以显示当前步骤的完成进度。

步骤 1
步骤 2
步骤 3
当前步骤进度:50%
进度条连接线

时间线模式

设置 show-timeline 后可以显示时间信息,适合物流追踪、历史记录等场景。

2024-01-01 10:00
创建订单
订单已提交
2024-01-01 10:05
付款成功
支付完成
2024-01-02 08:00
商品发货
物流已揽收
确认收货
等待签收
时间线模式

禁用步骤

设置 Step 的 disabled 属性可以禁止点击该步骤。

步骤 1
步骤 2 (禁用)
步骤 3

当前步骤:0,第二步被禁用无法点击

禁用步骤

标签位置

设置 label-placement="vertical" 可以使标签垂直排列。

步骤 1
这是描述
步骤 2
这是描述
步骤 3
这是描述
标签位置

延迟渲染

设置 Step 的 lazy 属性可以延迟渲染内容,首次激活时才会渲染,提升性能。

步骤 1
步骤 1 的详细内容(立即加载)
步骤 2
步骤 3
延迟渲染

API

Steps Props

属性名说明类型默认值
active当前激活步骤(从 0 开始)number0
direction显示方向'horizontal' | 'vertical''horizontal'
align-center是否居中对齐booleanfalse
simple是否启用简洁风格booleanfalse
progress-dot点状/导航风格boolean | 'dot' | 'navigation'false
finish-status结束步骤的状态'wait' | 'process' | 'finish' | 'error' | 'success''finish'
process-status当前步骤的状态'wait' | 'process' | 'finish' | 'error' | 'success''process'
space每个 step 的间距(支持 px 或百分比)number | string
clickable是否可点击切换步骤booleanfalse
size尺寸'default' | 'small''default'
responsive是否响应式(小屏幕自动切换为垂直)booleanfalse
responsive-breakpoint响应式断点(px)number768
label-placement标签位置'horizontal' | 'vertical''horizontal'
show-progress显示进度条连接线booleanfalse
show-timeline显示时间线booleanfalse

Steps Events

事件名说明类型
change点击步骤时触发(需开启 clickable)(index: number) => void

Steps Slots

插槽名说明参数
defaultStep 组件内容

Step Props

属性名说明类型默认值
title标题string''
description描述文字string''
icon自定义图标类名string''
status当前步骤状态(覆盖父组件设置)'wait' | 'process' | 'finish' | 'error' | 'success'''
disabled是否禁用该步骤booleanfalse
time时间信息(用于时间线模式)string''
progress进度百分比(0-100,用于进度条模式)number0
lazy是否延迟渲染内容booleanfalse

Step Slots

插槽名说明参数
default自定义内容区域
icon自定义图标
title自定义标题
description自定义描述
time自定义时间内容

主题变量

变量名说明默认值
--yh-steps-icon-size图标区域大小28px
--yh-steps-line-color连接线颜色var(--yh-border-color-light)
--yh-steps-finish-color完成状态颜色var(--yh-color-primary)
--yh-steps-process-color进行中状态颜色var(--yh-color-primary)
--yh-steps-wait-color等待状态颜色var(--yh-text-color-placeholder)
--yh-steps-error-color错误状态颜色var(--yh-color-danger)
--yh-steps-success-color成功状态颜色var(--yh-color-success)

Released under the MIT License.