Skip to content
通用组件

步骤条Stepper

带序号的一排步骤 + 连线,展示进度(精英化、专精)。只展示,不可点。

Vue
实验import { AkSteps, AkStep } from "@mooncellwiki/prts-design-vue"Storybook ↗源码 ↗

一排带序号的步骤 + 连线,展示走到了哪一步:精英化、技能专精、多步表单的进度。序号由 CSS 计数器生成;已完成 = 主色序号 + 主色连线,当前 = 主色序号 + 加粗,未到 = 灰。只有横排,只展示、不可点。

基本 ​

写法同 Naive UI 的 n-steps:AkSteps 里放若干 AkStep,current(从 1 数)之前的步骤已完成、这一步是当前、之后未到。

随 current 推进 ​

current 超过步数 = 全部完成。某一步要单独指定状态时写 AkStep 的 status(优先于推算)。步骤名也可以写在 AkStep 的默认插槽里。

可访问性 ​

  • 输出 <ol> / <li>(有序列表,步骤有先后),label 作列表名(如「精英化进度」)。<ol> 上显式写 role="list":Safari(VoiceOver)对去掉列表符号(list-style: none)的列表不报列表语义。
  • 当前步骤 aria-current="step";已完成的步骤带一段只给读屏的「(已完成)」(.ak-sr-only)——颜色之外的状态说明。

Vue API ​

AkSteps ​

属性类型默认说明
currentnumber—当前步骤(从 1 数,同 Naive):之前的已完成、这一步是当前、之后未到;超过步数 = 全部完成;不写则各步按自己的 status
labelstring—读屏用的列表名(如「精英化进度」)
插槽说明
default若干 AkStep

AkStep ​

属性类型默认说明
titlestring—步骤名(也可以写在默认插槽里)
status"done""wait""active"—状态:wait 未到 · active 当前(主色序号 + 加粗)· done 已完成(主色序号 + 主色连线);不写时按 AkSteps 的 current 推算
插槽说明
default步骤名(代替 title)

CSS 实现 ​

结构 ol.ak-stepper > li.ak-step:.ak-stepper 自己去掉原生序号、缩进与外边距(序号由 CSS 计数器画),直接写在正文里也不吃正文有序列表的缩进、段距与主色序号。

块元素 __修饰 --

文本 CC BY-NC-SA 4.0 · 游戏素材版权归鹰角网络所有