Skip to content

Steps 步骤条

演示

提交订单2023-08-08
支付订单2023-08-08
取消订单2023-08-08
简单的步骤条
设置 active 属性,接受一个 Number,表明步骤的 index,从 0 开始。 需要定宽的步骤条时,设置 space 属性即可,它接受 Number, 单位为 px, 如果不设置,则为自适应。 设置 finish-status 属性可以改变已经完成的步骤的状态。
<template>
  <div>
    <cl-steps :active="active" :space="'85px'" style="overflow-x: auto; margin-bottom: 12px">
      <cl-step
        v-for="(item, index) in steps"
        :key="index"
        :title="item.title"
        :description="item.description"
      />
    </cl-steps>
    <cl-button @click="nextStep">下一步</cl-button>
  </div>
</template>
<script setup lang="ts">
import { ref, reactive } from 'vue'
let steps = reactive([
  { title: '提交订单', description: '2023-08-08' },
  { title: '支付订单', description: '2023-08-08' },
  { title: '取消订单', description: '2023-08-08' }
])
let active = ref(0)
const nextStep = () => {
  if (active.value < steps.length) {
    active.value++
  }
}
</script>

<style></style>
提交订单2023-08-08
支付订单2023-08-08
取消订单2023-08-08
居中的步骤条
标题和描述可以居中。
<template>
  <div>
    <cl-steps :active="active" :space="'85px'" align-center style="overflow-x: auto">
      <cl-step
        v-for="(item, index) in steps"
        :key="index"
        :title="item.title"
        :description="item.description"
      />
    </cl-steps>
  </div>
</template>
<script setup lang="ts">
import { ref } from 'vue'
const steps = [
  { title: '提交订单', description: '2023-08-08' },
  { title: '支付订单', description: '2023-08-08' },
  { title: '取消订单', description: '2023-08-08' }
]
let active = ref(2)
</script>

<style></style>
提交订单2023-08-08
支付订单2023-08-08
自定义title自定义description
自定义步骤条
标题,描述,icon均可以插槽的方式自定义
<template>
  <div>
    <cl-steps :active="active" :space="'85px'" style="overflow-x: auto; margin-bottom: 12px">
      <cl-step
        v-for="(item, index) in steps"
        :key="index"
        :title="item.title"
        :description="item.description"
        :status="item.status"
      >
        <template #title v-if="index === 2">自定义title</template>
        <template #description v-if="index === 2">自定义description</template>
        <template #icon v-if="index === 2">
          <cl-icon iconName="cl-icon-yonghu"></cl-icon>
        </template>
      </cl-step>
    </cl-steps>
  </div>
</template>
<script setup lang="ts">
import { ref } from 'vue'
const steps = [
  { title: '提交订单', description: '2023-08-08', status: 'wait' },
  { title: '支付订单', description: '2023-08-08' },
  { title: '取消订单', description: '2023-08-08' }
]
let active = ref(2)
</script>

<style></style>

API

Steps Props

参数描述类型可选值默认值
space步骤条宽度string-200px
active设置当前激活步骤number--1
process-status设置当前步骤的状态stringwait / process / finish200px
finish-status设置结束步骤的状态stringwait / process / finish200px
space步骤条宽度string-200px
align-center进行居中对齐boolean-false

Step Props

参数描述类型可选值默认值
title标题string--
description描述性文字string--
status设置当前步骤的状态stringwait / process / finish-
space步骤条宽度string-200px