跳到正文

步骤条

表示多步流程走到了哪一步:数字或图标标记、连接线、当前步骤、出错步骤。你只写每步的标题,库生成标记并按当前步骤算出完成、进行中、未开始。容器放不下时自动改成纵向。

带行为 核心包 1 个事件 2 个方法

示例

在线试用 Markdown 版

代码

<div class="zh-stack">
  <ol data-zh-steps data-current="1" aria-label="开通流程">
    <li data-title="填写信息" data-desc="企业与联系人"></li>
    <li data-title="资质审核" data-desc="约 1 个工作日"></li>
    <li data-title="开通完成"></li>
  </ol>
  <ol data-zh-steps data-mode="icon" data-current="2" data-error="1" data-error-text="文件过大" aria-label="上传流程">
    <li data-title="选择文件" data-icon="file-text"></li>
    <li data-title="上传" data-icon="settings"></li>
    <li data-title="完成" data-icon="check"></li>
  </ol>
</div>

属性

属性用在取值说明
data-zh-steps<ol>里面放 <li data-title="…">声明为步骤条;<li> 里的内容会被替换
data-title / data-desc<li>文字步骤标题与说明(图标模式不显示说明)
data-icon<li>图标名图标模式下该步的图标;完成变成对勾,出错变成叉
data-current<ol>从 0 开始的序号,默认 0当前步骤;之前的算已完成,之后的未开始
data-error<ol>出错步骤的序号该步显示为错误;可配 data-error-text 写出错说明
data-done<ol>全部完成
data-mode<ol>icon用图标代替数字
data-clickable<ol>每一步变成按钮,点击触发 zh:step-click;data-reach 指定最远可点到哪一步,默认只到当前步
zh-steps--v / --sm / --lg / --dot<ol>(class)纵向 / 小尺寸 / 大尺寸 / 极简圆点;默认是横向

事件

事件触发于detail说明
zh:step-click<ol>undefined可点击模式下点了某一步。是否真的跳转由你决定(比如先校验表单),然后调用 ZhaoUI.steps.set

方法

  • ZhaoUI.steps.set(el, { current, error, done }):更新状态并重绘;设置 current 会清除错误态
  • ZhaoUI.steps.get(el):返回 { current, error, done }

样式类

zh-steps zh-steps--h zh-steps--v zh-steps--sm zh-steps--lg zh-steps--dot zh-step

无障碍

  • 当前步骤带 aria-current="step"
  • 状态不只靠颜色:完成是对勾,出错是叉,并且可以写出错文字
  • 外面的 <ol> 请加 aria-label 说明是什么流程

常见问题

步骤条是什么?

表示多步流程走到了哪一步:数字或图标标记、连接线、当前步骤、出错步骤。你只写每步的标题,库生成标记并按当前步骤算出完成、进行中、未开始。容器放不下时自动改成纵向。

怎么使用步骤条?

先在页面里引入 zhaoui.css 和 zhaoui.js(放在 </body> 前,不加 defer),再照本页「用法」里的标记书写;需要用代码控制时,用「方法」里列出的接口。

步骤条有哪些事件?

zh:step-click(可点击模式下点了某一步。是否真的跳转由你决定(比如先校验表单),然后调用 ZhaoUI.steps.set)。

步骤条有哪些方法?

ZhaoUI.steps.set(el, { current, error, done }):更新状态并重绘;设置 current 会清除错误态;ZhaoUI.steps.get(el):返回 { current, error, done }。

步骤条支持键盘和读屏吗?

当前步骤带 aria-current="step";状态不只靠颜色:完成是对勾,出错是叉,并且可以写出错文字;外面的 <ol> 请加 aria-label 说明是什么流程。

步骤条需要依赖框架吗?

不需要。ZhaoUI 是原生 HTML、CSS 和 JavaScript,不依赖 jQuery、Vue 或 React。