Steps 步骤条

用于引导用户按照流程完成任务的导航条,显示当前所在步骤

引入

import { Steps } from 'mand-mobile-next'

Vue.createApp().component(Steps.name, Steps)

代码演示

API

Steps Props

属性说明类型默认值备注
steps步骤信息数组Array<StepOptions>
current当前步骤/进度Number0支持小数
direction展示方向Stringhorizontalhorizontal, vertical
transition进度变化动效Booleanfalse
dislocation步骤文案位置自动交错排列Booleanfalse仅支持水平方向展示时
adaptive步骤高度自适应Booleanfalse仅用于vertical, 如果设置为true则根据容器高度自适应,需设置.mfe-steps高度

StepOptions

属性说明类型默认值备注
name步骤标题String
desc步骤描述String
flex步骤空间占比Number1
alignItems步骤图标和连接线的对齐方式Stringcenterflex-start/center/flex-end
textPosition步骤文本位置Stringbottomtop/bottom,仅支持水平方向展示时
textAlign步骤文本的对齐方式Stringcenterleft/center/right,仅支持水平方向展示时
iconSize步骤图标最小尺寸Number32单位px
barSize连接线尺寸Number2单位px
barText连接线文案String

Steps Slots

icon

统一自定义所有步骤图标,支持scoped slot如下所示:

<template slot="reached" slot-scope="{ index, currentIndex }">
  <b v-if="props.index === props.currentIndex">{{ props.index }}</b>
  <span v-else>{{ props.index }}</span>
</template>

reached

已完成步骤图标插槽,用于自定义已完成步骤图标,支持scoped slot如下所示:

<template slot="reached" slot-scope="{ index }">
  <!-- 如果索引值为1,则自定义 -->
  <md-icon name="checked" v-if="index === 1"></md-icon>
  <!-- 默认步骤图标 -->
  <div class="step-node-default" v-else></div>
</template>

current

当前步骤图标插槽,用于自定义当前步骤图标,支持scoped slot用法同reached

unreached

未完成步骤图标插槽,用于自定义未完成步骤图标,支持scoped slot用法同reached

content

步骤内容插槽

<template
  slot="content"
  slot-scope="{ index, step }"
>
  <!-- index 步骤索引 -->
  <!-- step 步骤信息 -->
</template>