Steps 步骤条
vue
<template>
<ta-group title="基础用法">
<ta-steps v-model:activeIndex="stepIndex">
<ta-step v-for="(item, index) in steps" :key="index" :title="item.title">
{{ item.content }}
</ta-step>
</ta-steps>
</ta-group>
<ta-group title="小点模式">
<ta-steps v-model:activeIndex="stepIndex" dot>
<ta-step v-for="(item, index) in steps" :key="index" :title="item.title">
{{ item.content }}
</ta-step>
</ta-steps>
</ta-group>
<ta-group title="自定义图标">
<ta-steps v-model:activeIndex="stepIndex">
<ta-step v-for="(item, index) in steps" :key="index" :title="item.title">
<template #step="{ finish, active }">
<ta-icon v-if="finish" icon="CheckOutlined"></ta-icon>
<ta-icon v-else-if="active" icon="LoadingOutlined" spin></ta-icon>
</template>
{{ item.content }}
</ta-step>
</ta-steps>
</ta-group>
<ta-group title="横向">
<ta-steps v-model:activeIndex="stepIndex" horizontal>
<ta-step v-for="(item, index) in steps" :key="index" :title="item.title">
{{ item.content }}
</ta-step>
</ta-steps>
</ta-group>
<ta-group title="横向(不要标题 & 小点)">
<ta-steps :activeIndex="1" horizontal dot>
<ta-step v-for="(item, index) in orderSteps" :key="index">{{ item.content }}</ta-step>
</ta-steps>
</ta-group>
<ta-group title="Slot title">
<ta-steps>
<ta-step title="【珠海市】快件已送达【正方云创园】,感谢您使用中通快递">
2021-04-13 12:42:57
</ta-step>
<ta-step>
<template #title>
【珠海市】【珠海一部】快递小哥正在派件(<a href="tel:10000">10000</a>)
</template>
2021-04-13 11:22:16
</ta-step>
<ta-step title="【珠海市】快件离开【珠海中心】已发往【珠海一部】">
2021-04-13 09:04:03
</ta-step>
</ta-steps>
</ta-group>
<ta-fixed>
<div class="exp-steps-next">
<ta-button @click="stepIndex = (stepIndex + 1) % steps.length" type="primary">
下一步
</ta-button>
</div>
</ta-fixed>
</template>
<script lang="ts">
import { defineComponent, ref } from 'vue'
export default defineComponent({
name: 'ExpSteps',
setup() {
const stepIndex = ref(1)
return {
stepIndex,
steps: [
{
title: '已完成',
content: '这一步过了哈'
},
{
title: '进行中',
content: '目前到这一步'
},
{
title: '待处理',
content: '还没到这一步'
}
],
orderSteps: [
{
content: '买家下单'
},
{
content: '商家接单'
},
{
content: '商家发货'
},
{
content: '买家提货'
},
{
content: '交易完成'
}
]
}
}
})
</script>
Import
js
import { TaSteps, TaStep } from 'tantalum-ui-mobile'
具体的引入方式可以参考引入组件。
Steps
Steps Props
属性 | 类型 | 默认值 | 必填 | 说明 |
---|---|---|---|---|
active-index | number | 0 | 否 | 当前步骤对应的索引值 |
dot | boolean | false | 否 | 是否开启小点样式 |
Steps Slots
#default
注:其中只可放置 Step 组件,否则会导致未定义的行为。
vue
<ta-steps>
<ta-step title="成功获得0.01元收益">搞半天就这点?</ta-step>
<ta-step title="十天后到账">0.01元还要十天到账?</ta-step>
<ta-step title="爱要不要">不要了,滚。</ta-step>
</ta-steps>
Step
Step Props
属性 | 类型 | 默认值 | 必填 | 说明 |
---|---|---|---|---|
title | string | 否 | 步骤子项标题 |
Step Slots
内容(#default)
vue
<ta-step title="标题">自定义内容</ta-step>
标题(#title)
vue
<ta-step>
<template #title>
【珠海市】【珠海一部】快递小哥正在派件(<a href="tel:10000">10000</a>)
</template>
2021-04-13 11:22:16
</ta-step>
注:优先级高于 Props title
。
步骤标(#step)
vue
<ta-step>
<template #step="{ finish, index, active }">
<ta-icon v-if="finish" icon="CheckOutlined"></ta-icon>
</template>
</ta-step>
注:只推荐写入 text 和 Icon 组件,其他元素或组件可能会导致未定义的行为。