Skip to content

Stepper 步骤面板 ​

步骤驱动的分步内容面板一体机:头部步骤条(可点击跳步)+ 联动内容面板(仅当前步显示),适合向导 / 表单分步 / 结账流程等场景。双组件配套使用:oas-stepper 管步骤头、oas-stepper-panel 管内容、value 关联显示(同构 oas-tabs / oas-tab-panel 模式)。

基础用法 ​

steps 传步骤数组({title, description?, icon?, disabled?, status?},语义对齐 oas-steps),内容面板按序号 value 关联,current 指定当前步。

基础用法

第一步:填写收货地址与订单信息。

第二步:选择支付方式完成付款。

第三步:等待卖家发货并确认收货。

可点击跳步 ​

clickable 默认开启:点击任意可点步骤即跳转(整步可点,键盘 Enter/Space 可达),点击派发 oas-change(detail 为 { index })并写回 current。

点击步骤切换

订单信息填写区

支付方式选择区

发货进度区

线性模式(禁跳步) ​

linear 开启后仅允许跳转 index <= current 的步骤:已过步骤可回跳、当前步可停留、未来步骤禁点(aria-disabled + 视觉弱化,点击/键盘静默)。

linear 禁跳未完成步

资料填写表单

实名认证流程

开通成功提示

禁用步骤 ​

每步的 disabled 字段禁用该步:不可点击、键盘跳过、视觉弱化;显式 status 仍正常显示。

disabled 步骤

证件上传区

人脸核验区

审核结果区(禁用中)

状态标记 ​

每步的 status 字段显式指定状态:finish 完成(成功色 + ✓)/ error 错误(危险色 + ✕);缺省按 current 推导(前序 finish / 当前 process / 后续 wait)。

finish / process / error / wait

资源下载完成

数据解析中…

解析异常,请重试

流程结束

竖向排列 ​

direction="vertical" 将步骤头转为纵向排列(指示器在左、标题在右、连接线走左侧),内容面板仍位于下方。

竖向步骤

资料表单

证件上传

审核结果

面板联动(受控 current) ​

current 双向:点击跳步写回 current,外部设置 current 即时同步 aria-selected 与面板显隐。prev/next 按钮不内置,宿主用按钮设置 current 即可。

外部按钮控制跳步

商品 A × 1商品 B × 2提交订单上一步下一步

自定义步骤内容 ​

每步的 icon 字段(图标注册表键)在指示器位置渲染图标(显式 icon 优先于状态默认图标);面板内容走默认插槽,可自由组合任意内容。

图标步骤 + 富内容面板

基础版专业版专业版¥ 199/年专业版已生效,立即开始使用。

键盘与无障碍 ​

步骤头为 role="tablist" + 每步 role="tab"(aria-selected / aria-disabled 同步),面板为 role="tabpanel" + aria-labelledby 关联。roving tabindex:Tab 进入落在当前步,方向键在步骤间移动焦点(横向 ←/→、纵向 ↑/↓,禁步跳过)、Home/End 跳首末,Enter/Space 激活跳步。

键盘导航

焦点落在第一步,按 → 或 Enter 体验键盘导航。

第二步内容

第三步内容

第四步内容

尺寸档位 ​

size 五档(xs / small / medium / large / xl)调节标题字号密度;非法值回落 medium 并在 dev 下告警。

size 五档

API ​

oas-stepper ​

属性 ​

属性说明类型默认值
clickable步骤可点击跳步(默认 true;clickable="false" 关闭:点击/键盘静默,键盘仍可移动焦点)stringtrue
current当前步骤索引(0 起,双向:点击跳步写回、外部设置即时同步 aria-selected 与面板显隐);非法值回落 0,越界夹取string0
direction方向:horizontal(默认,横向排列)/ vertical(纵向排列,指示器左/标题右)stringhorizontal
linear线性模式:仅允许跳转 index <= current 的步骤(未来步 aria-disabled + 视觉弱化,点击/键盘静默)boolean—
size尺寸档位:xs/small/medium/large/xl(标题字号密度;非法值回落 medium + dev 告警,同值去重)stringmedium
steps步骤数据 JSON [{ title, description?, icon?, disabled?, status? }](语义对齐 oas-steps 的 StepItem 减去面板无关项);非法/空回落 []StepperStep[] | string[]

事件 ​

事件说明
oas-change可点击跳步时触发(点击步骤 / 键盘 Enter/Space);detail: { index }(0 起,bubbles + composed,写回 current)

插槽 ​

名称说明
默认内容面板投影区(<oas-stepper-panel> 直接子元素);面板按 value 关联步骤序号,仅 current 匹配者可见

oas-stepper-panel ​

属性 ​

属性说明类型默认值
value关联步骤序号字符串(如 value="0");仅 current 匹配的面板可见(hidden 由 oas-stepper 驱动)——

插槽 ​

名称说明
默认面板内容(默认插槽)

基于 MIT OR Apache-2.0 双许可发布