Steps

引导用户按照流程完成任务的导航条。

何时使用

当任务复杂或者存在先后关系时,将其分解成一系列步骤,从而简化任务。

代码演示

Steps步骤条 - 图1

基本用法

简单的步骤条。

  1. <template>
  2. <a-steps :current="1">
  3. <a-step>
  4. <!-- <span slot="title">Finished</span> -->
  5. <template slot="title">
  6. Finished
  7. </template>
  8. <span slot="description">This is a description.</span>
  9. </a-step>
  10. <a-step title="In Progress" description="This is a description." />
  11. <a-step title="Waiting" description="This is a description." />
  12. </a-steps>
  13. </template>

Steps步骤条 - 图2

迷你版

迷你版的步骤条,通过设置 <Steps size="small"> 启用。

  1. <template>
  2. <a-steps :current="1" size="small">
  3. <a-step title="Finished" />
  4. <a-step title="In Progress" />
  5. <a-step title="Waiting" />
  6. </a-steps>
  7. </template>

Steps步骤条 - 图3

带图标的步骤条

通过设置 Steps.Stepicon 属性,可以启用自定义图标。

  1. <template>
  2. <a-steps>
  3. <a-step status="finish" title="Login">
  4. <a-icon type="user" slot="icon"/>
  5. </a-step>
  6. <a-step status="finish" title="Verification">
  7. <a-icon type="solution" slot="icon"/>
  8. </a-step>
  9. <a-step status="process" title="Pay">
  10. <a-icon type="loading" slot="icon"/>
  11. </a-step>
  12. <a-step status="wait" title="Done">
  13. <a-icon type="smile-o" slot="icon"/>
  14. </a-step>
  15. </a-steps>
  16. </template>

Steps步骤条 - 图4

步骤切换

通常配合内容及按钮使用,表示一个流程的处理进度。

  1. <template>
  2. <div>
  3. <a-steps :current="current">
  4. <a-step v-for="item in steps" :key="item.title" :title="item.title" />
  5. </a-steps>
  6. <div class="steps-content">{{steps[current].content}}</div>
  7. <div class="steps-action">
  8. <a-button
  9. v-if="current < steps.length - 1"
  10. type="primary" @click="next"
  11. >
  12. Next
  13. </a-button>
  14. <a-button
  15. v-if="current == steps.length - 1"
  16. type="primary"
  17. @click="$message.success('Processing complete!')"
  18. >
  19. Done
  20. </a-button>
  21. <a-button
  22. v-if="current>0"
  23. style="margin-left: 8px"
  24. @click="prev"
  25. >
  26. Previous
  27. </a-button>
  28. </div>
  29. </div>
  30. </template>
  31. <script>
  32. export default {
  33. data() {
  34. return {
  35. current: 0,
  36. steps: [{
  37. title: 'First',
  38. content: 'First-content',
  39. }, {
  40. title: 'Second',
  41. content: 'Second-content',
  42. }, {
  43. title: 'Last',
  44. content: 'Last-content',
  45. }],
  46. }
  47. },
  48. methods: {
  49. next() {
  50. this.current++
  51. },
  52. prev() {
  53. this.current--
  54. }
  55. },
  56. }
  57. </script>
  58. <style scoped>
  59. .steps-content {
  60. margin-top: 16px;
  61. border: 1px dashed #e9e9e9;
  62. border-radius: 6px;
  63. background-color: #fafafa;
  64. min-height: 200px;
  65. text-align: center;
  66. padding-top: 80px;
  67. }
  68. .steps-action {
  69. margin-top: 24px;
  70. }
  71. </style>

Steps步骤条 - 图5

竖直方向的步骤条

简单的竖直方向的步骤条。

  1. <template>
  2. <a-steps direction="vertical" :current="1">
  3. <a-step title="Finished" description="This is a description." />
  4. <a-step title="In Progress" description="This is a description." />
  5. <a-step title="Waiting" description="This is a description." />
  6. </a-steps>
  7. </template>

Steps步骤条 - 图6

竖直方向的小型步骤条

简单的竖直方向的小型步骤条。

  1. <template>
  2. <a-steps direction="vertical" size="small" :current="1">
  3. <a-step title="Finished" description="This is a description." />
  4. <a-step title="In Progress" description="This is a description." />
  5. <a-step title="Waiting" description="This is a description." />
  6. </a-steps>
  7. </template>

Steps步骤条 - 图7

步骤运行错误

使用 Steps 的 status 属性来指定当前步骤的状态。

  1. <template>
  2. <a-steps :current="1" status="error">
  3. <a-step title="Finished" description="This is a description." />
  4. <a-step title="In Progress" description="This is a description." />
  5. <a-step title="Waiting" description="This is a description." />
  6. </a-steps>
  7. </template>

Steps步骤条 - 图8

点状步骤条

包含步骤点的进度条。

  1. <template>
  2. <a-steps progressDot :current="1">
  3. <a-step title="Finished" description="This is a description." />
  4. <a-step title="In Progress" description="This is a description." />
  5. <a-step title="Waiting" description="This is a description." />
  6. </a-steps>
  7. </template>

Steps步骤条 - 图9

自定义点状步骤条

为点状步骤条增加自定义展示。

  1. <template>
  2. <div>
  3. <a-steps :current="1">
  4. <a-popover slot="progressDot" slot-scope="{index, status, prefixCls}">
  5. <template slot="content">
  6. <span>step {{index}} status: {{status}}</span>
  7. </template>
  8. <span :class="`${prefixCls}-icon-dot`"></span>
  9. </a-popover>
  10. <a-step title="Finished" description="You can hover on the dot." />
  11. <a-step title="In Progress" description="You can hover on the dot." />
  12. <a-step title="Waiting" description="You can hover on the dot." />
  13. <a-step title="Waiting" description="You can hover on the dot." />
  14. </a-steps>
  15. </div>
  16. </template>

Steps

整体步骤条。

参数说明类型默认值
current指定当前步骤,从 0 开始记数。在子 Step 元素中,可以通过 status 属性覆盖状态number0
direction指定步骤条方向。目前支持水平(horizontal)和竖直(vertical)两种方向stringhorizontal
labelPlacement指定标签放置位置,默认水平放图标右侧,可选vertical放图标下方stringhorizontal
progressDot点状步骤条,可以设置为一个 作用域插槽,labelPlacement 将强制为verticalBoolean or slot="progressDot" slot-scope="{index, status, title, description, prefixCls})"false
size指定大小,目前支持普通(default)和迷你(smallstringdefault
status指定当前步骤的状态,可选 wait process finish errorstringprocess
initial起始序号,从 0 开始记数number0

Steps.Step

步骤条内的每一个步骤。

参数说明类型默认值
description步骤的详情描述,可选string|slot-
icon步骤图标的类型,可选string|slot-
status指定状态。当不配置该属性时,会使用 Steps 的 current 来自动指定状态。可选:wait process finish errorstringwait
title标题string|slot-