Steps 步骤条
引导用户按照流程完成任务的导航条,支持多种样式、方向与状态。
步骤条用于引导用户按照流程完成一系列步骤,将复杂任务分解为清晰的阶段。
何时使用
- 任务复杂或存在先后关系,需要拆分为一系列步骤时。
- 需要展示流程进度、引导用户按步骤操作时。
导入
基本用法
通过 items 配置数据,v-model:current 控制当前步骤(从 0 开始)。
复合式(StepsItem)
也可使用 StepsItem 子组件组装,current / status 等配置由 Steps 通过 provide/inject 自动传递。
步骤运行错误
通过 status 指定当前步骤的状态为 error。
竖直方向的步骤条
设置 direction="vertical" 实现竖直排列,标题在图标右侧。
标签放置位置
titlePlacement 默认 horizontal(标签放图标右侧),可选 vertical(标签放图标下方)。
可点击
监听 change(或使用 v-model:current)后步骤变为可点击状态。
带图标
通过 items 的 icon 属性启用自定义图标。
进度百分比
percent 只对当前 process 步骤生效(default / dot 类型),在图标外围显示环形进度。
点状步骤条
设置 type="dot" 使用点状步骤条。
面板式步骤
设置 type="panel" 使用面板式步骤条,每个步骤以面板呈现。
导航步骤
设置 type="navigation" 使用导航式步骤条,底部附带进度条。
内联步骤
设置 type="inline" 使用内联步骤,适用于列表内容场景中展示对象所在流程。
限量展示
maxCount 限制可见步骤数量(>=3),超出部分聚合为省略号步骤,点击可跳转。
尺寸
样式变体
variant="filled"(默认)与 variant="outlined"。
API
Steps Props
| 参数 | 说明 | 类型 | 默认值 |
|---|---|---|---|
| current (v-model) | 指定当前步骤,从 0 开始记数 | number | 0 |
| initial | 起始序号,从 0 开始记数,影响展示的序号 | number | 0 |
| status | 指定当前步骤的状态 | 'wait' | 'process' | 'finish' | 'error' | 'process' |
| direction | 指定步骤条方向 | 'horizontal' | 'vertical' | 'horizontal' |
| orientation | 方向别名(antd v6 命名,优先于 direction) | 'horizontal' | 'vertical' | - |
| titlePlacement | 标签放置位置:horizontal 放图标右侧,vertical 放图标下方 | 'horizontal' | 'vertical' | 'horizontal' |
| labelPlacement | 标签放置位置别名 | 'horizontal' | 'vertical' | - |
| size | 指定大小 | 'default' | 'small' | 'large' | 'default' |
| type | 步骤条类型 | 'default' | 'dot' | 'navigation' | 'inline' | 'panel' | 'default' |
| variant | 样式变体 | 'filled' | 'outlined' | 'filled' |
| percent | 当前 process 步骤显示的进度(0-100) | number | - |
| responsive | 屏幕宽度小于 532px 时自动变为垂直模式 | boolean | true |
| maxCount | 最大可见步骤项数量(>=3),仅配置式生效 | number | - |
| items | 配置式步骤数据 | StepItem[] | [] |
| class | 附加类名 | string | - |
| style | 附加样式 | CSSProperties | - |
Steps Events
| 事件 | 说明 | 回调参数 |
|---|---|---|
| update:current | current 变化 | (current: number) |
| change | 点击切换步骤时触发 | (current: number) |
StepsItem Props
| 参数 | 说明 | 类型 | 默认值 |
|---|---|---|---|
| index | 步骤索引(复合式自动注册) | number | - |
| title | 标题 | string | VNode | - |
| subTitle | 子标题 | string | VNode | - |
| content | 步骤的详情描述 | string | VNode | - |
| description | 描述(content 的别名) | string | VNode | - |
| icon | 自定义步骤图标 | VNode | - |
| status | 指定状态,不配置时由 current 自动推导 | 'wait' | 'process' | 'finish' | 'error' | 'wait' |
| disabled | 禁用点击 | boolean | false |
| percent | 当前步骤进度(0-100) | number | - |
StepItem(配置式 items 元素)
| 参数 | 说明 | 类型 |
|---|---|---|
| title | 标题 | string | VNode |
| subTitle | 子标题 | string | VNode |
| content | 步骤的详情描述 | string | VNode |
| description | 描述(content 的别名) | string | VNode |
| icon | 自定义步骤图标 | VNode |
| status | 指定状态 | 'wait' | 'process' | 'finish' | 'error' |
| disabled | 禁用点击 | boolean |
| percent | 当前步骤进度(0-100) | number |
状态说明
| 状态 | 说明 | 展示效果 |
|---|---|---|
| wait | 等待中 | 弱化图标与文字 |
| process | 进行中 | 主色图标与高亮标题 |
| finish | 已完成 | 主色图标 + 对勾,连接线为主色 |
| error | 失败 | 危险色图标与文字 |
响应式
responsive 默认开启:当屏幕宽度小于 532px 时,水平方向自动切换为垂直方向。
