#Steps 步骤条
展示任务的进展和当前步骤。
#基础用法
交互预览基础用法
- 创建项目填写基本信息
- 确认配置检查项目信息
- 3完成开始使用
basic.tsx
import { Button, type StepItem, Steps } from '@sudden3/leaf-ui';
import { useState } from 'react';
const items: readonly StepItem[] = [
{ title: '创建项目', description: '填写基本信息' },
{ title: '确认配置', description: '检查项目信息' },
{ title: '完成', description: '开始使用' },
];
export function StepsBasic() {
const [current, setCurrent] = useState(1);
return (
<div className="leaf-demo-stack leaf-demo-stack--wide">
<Steps items={items} current={current} onChange={setCurrent} />
<div className="leaf-demo-row">
<Button variant="outline" disabled={current === 0} onClick={() => setCurrent(current - 1)}>
上一步
</Button>
<Button disabled={current === 2} onClick={() => setCurrent(current + 1)}>
下一步
</Button>
</div>
<Steps items={items} current={1} direction="vertical" status="error" size="sm" />
</div>
);
}
#Steps API
| 属性 | 类型 | 默认值 | 说明 |
|---|---|---|---|
items | readonly StepItem[] | 必填 | 步骤列表 |
current | number | 0 | 当前步骤的索引,从 0 开始 |
status | 'process' | 'finish' | 'error' | 'process' | 当前步骤状态 |
direction | 'horizontal' | 'vertical' | 'horizontal' | 排列方向 |
size | 'sm' | 'md' | 'lg' | 'md' | 步骤尺寸 |
loading | boolean | false | 当前步骤展示加载图标 |
onChange | (current: number) => void | — | 设置后可点击步骤 |
#StepItem
| 属性 | 类型 | 默认值 | 说明 |
|---|---|---|---|
key | string | — | 稳定标识 |
title | ReactNode | 必填 | 步骤名称 |
description | ReactNode | — | 补充说明 |
icon | ReactNode | — | 自定义图标 |
status | 'wait' | 'process' | 'finish' | 'error' | — | 覆盖该步骤状态 |
disabled | boolean | false | 禁止点击该步骤 |
#类型
定义组件属性或组装列表时可导入相关类型。
import type { StepsProps, StepItem } from '@sudden3/leaf-ui';#使用说明
current 由应用维护;onChange 提供目标索引。未指定单项 status 时,会根据 current 自动显示已完成、进行中和等待状态。