Steps 步骤
示例
尺寸及方向
可选的 ui
属性值:s
/ m
/ vertical
/ label-vertical
。
Current step
Size
Direction
3
Step 3
注册成功
<template>
<article>
<section>
<h4>Current step</h4>
<veui-number-input
v-model="current"
:min="1"
:max="steps.length"
:step="1"
/>
</section>
<section>
<h4>Size</h4>
<veui-radio
v-for="({ value, label }) in sizeList"
:key="value"
v-model="size"
:value="value"
>
{{ label }}
</veui-radio>
</section>
<section>
<h4>Direction</h4>
<veui-radio
v-for="({ value, label }) in directionList"
:key="value"
v-model="direction"
:value="value"
>
{{ label }}
</veui-radio>
</section>
<section>
<veui-steps
:ui="ui"
:steps="steps"
:current="current - 1"
/>
</section>
</article>
</template>
<script>
import { Steps, NumberInput, Radio } from 'veui'
export default {
components: {
'veui-steps': Steps,
'veui-number-input': NumberInput,
'veui-radio': Radio
},
data () {
return {
current: 1,
size: 'm',
direction: '',
vertical: false,
sizeList: [
{
label: 's',
value: 's'
},
{
label: 'm',
value: 'm'
}
],
directionList: [
{
label: 'vertical',
value: 'vertical'
},
{
label: 'label-vertical',
value: 'label-vertical'
},
{
label: 'default',
value: ''
}
],
steps: [
{ label: 'Step 1', desc: '填写信息' },
{ label: 'Step 2', desc: '验证身份' },
{ label: 'Step 3', desc: '注册成功' }
]
}
},
computed: {
ui () {
return [
this.size,
this.direction
].join(' ')
}
}
}
</script>
<style lang="less" scoped>
h4 {
margin: 0 0 10px;
}
section {
margin-bottom: 10px;
}
section + section {
margin-top: 20px;
}
.veui-radio {
margin-right: 20px;
}
</style>
步骤状态
可以通过设置 steps
属性数据项的 status
自动值定义步骤状态,若步骤出错,可设置为 error
。
Current step
3
Step 3
注册成功
<template>
<article>
<section>
<h4>Current step</h4>
<veui-number-input
v-model="current"
:min="1"
:max="steps.length"
:step="1"
/>
</section>
<section>
<veui-steps
:steps="steps"
:current="current - 1"
/>
</section>
</article>
</template>
<script>
import { Steps, NumberInput } from 'veui'
export default {
components: {
'veui-steps': Steps,
'veui-number-input': NumberInput
},
data () {
return {
current: 2,
steps: [
{ label: 'Step 1', desc: '填写信息' },
{ label: 'Step 2', desc: '验证身份', status: 'error' },
{ label: 'Step 3', desc: '注册成功' }
]
}
}
}
</script>
<style lang="less" scoped>
h4 {
margin: 0 0 10px;
}
section {
margin-bottom: 10px;
}
section + section {
margin-top: 20px;
}
</style>
API
属性
名称 | 类型 | 默认值 | 描述 | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
ui | string= | - | 预设样式。
| ||||||||||
steps | Array | - | 步骤数据源。类型为 | ||||||||||
current | number | - | 当前步骤的索引值。 |
插槽
名称 | 描述 |
---|---|
default | 整个步骤项内容。 默认内容:序号/完成图标、步骤标题、描述等内容。 |
index | 序号部分内容,默认显示从 1 开始的序号,已完成的步骤显示完成图标,出错的步骤显示出错图标。位于 default 插槽内部,作用域参数同 default 插槽。 |
label | 步骤标题部分内容,默认显示 steps 中项目的 label 字段。位于 default 插槽内部,作用域参数同 default 插槽。 |
desc | 步骤描述部分内容,默认显示 steps 中项目的 desc 字段。位于 default 插槽内部,作用域参数同 default 插槽。 |
事件
名称 | 描述 |
---|---|
click | 任意步骤被点击后触发,回调参数为 (index: number, event: Event) 。其中 index 为被点击步骤的索引值,event 为相应的原生事件对象。 |
图标
名称 | 描述 |
---|---|
success | 已成功完成的步骤。 |
error | 出错的步骤。 |