1.0.2 • Published 1 month ago

@tanzhenxing/zx-tour v1.0.2

Weekly downloads
-
License
ISC
Repository
-
Last release
1 month ago

zx-tour 漫游式引导组件

用于分步引导用户了解产品功能,兼容 H5、小程序、App。

特性

  • 支持多步骤引导
  • 支持遮罩、浮层自定义样式
  • 支持多端 selector 查询
  • 支持插槽自定义内容
  • 支持 placement 定位
  • 支持关闭、完成、步骤切换事件

属性

属性说明类型默认值
modelValue是否显示引导Booleanfalse
steps步骤配置数组Array[]
current当前步骤索引Number0
showClose是否显示关闭按钮Booleantrue
maskStyle遮罩自定义样式Object{}
popupStyle浮层自定义样式Object{}
indicator是否显示指示器/自定义Boolean/Functiontrue

steps 配置项

字段说明类型备注
selector目标选择器String目标元素的 selector
title步骤标题String
description步骤描述String
mask是否显示遮罩Boolean
placement浮层位置Stringbottom/top/left/right/center
maskStyle遮罩样式Object单步自定义
popupStyle浮层样式Object单步自定义

事件

事件名说明回调参数
close关闭引导时触发
finish完成引导时触发
change步骤切换时触发当前步骤索引

插槽

插槽名说明作用域参数
desc步骤描述内容step

使用示例

<template>
  <button @tap="showTour = true">开始引导</button>
  <view>
    <button id="btn1">上传</button>
    <button id="btn2">保存</button>
    <button id="btn3">更多</button>
  </view>
  <zx-tour
    v-model="showTour"
    :steps="steps"
    :showClose="true"
    @close="onClose"
    @finish="onFinish"
    @change="onChange"
  >
    <template #desc="{ step }">
      <view v-if="step && step.description">
        <text>{{ step.description }}</text>
      </view>
    </template>
  </zx-tour>
</template>

<script setup>
import { ref } from 'vue'
import zxTour from '@/components/zx-tour/zx-tour.vue'

const showTour = ref(false)
const steps = [
  { selector: '#btn1', title: '上传', description: '上传文件', placement: 'bottom', mask: true },
  { selector: '#btn2', title: '保存', description: '保存更改', placement: 'right', mask: true },
  { selector: '#btn3', title: '更多', description: '查看更多', placement: 'top', mask: false },
  { title: '结束', description: '感谢体验', placement: 'center', mask: false },
]
function onClose() {}
function onFinish() {}
function onChange(idx) {}
</script>

注意事项

  • selector 必须为页面上真实存在的元素 id 或 class
  • 建议每个步骤 placement 合理设置,避免遮挡
  • 兼容 uniapp H5、小程序、App

参考

1.0.2

1 month ago

1.0.1

2 months ago