更新记录
1.0.1(2025-04-07)
下载此版本
平台兼容性
uni-app
app-vue |
app-nvue |
app-android |
app-ios |
app-harmony |
? |
? |
? |
? |
? |
H5-Safari |
Android Browser |
微信浏览器(Android) |
QQ浏览器(Android) |
Chrome |
IE |
Edge |
Firefox |
PC-Safari |
? |
? |
? |
? |
? |
? |
? |
? |
? |
微信小程序 |
支付宝小程序 |
百度小程序 |
字节小程序 |
QQ小程序 |
钉钉小程序 |
快手小程序 |
飞书小程序 |
京东小程序 |
? |
? |
? |
? |
? |
? |
? |
? |
? |
uni-app x
H5-Safari |
Android Browser |
微信浏览器(Android) |
QQ浏览器(Android) |
Chrome |
IE |
Edge |
Firefox |
PC-Safari |
? |
? |
? |
? |
? |
? |
? |
? |
? |
xl-guideoverlay 引导遮罩组件
在线演示地址:https://xlandzxg-8gj5901i764f06f7-1308786497.tcloudbaseapp.com/index.html#/
一个功能强大的引导遮罩组件,用于为用户提供交互式的功能引导。支持多步骤引导、元素高亮、状态保存和样式自定义等特性。
特性
- ✨ 多步骤引导:支持配置多个引导步骤
- 🎯 元素高亮:自动定位并高亮目标元素
- 💾 状态保存:可选择性保存用户的引导完成状态
- 🎨 样式自定义:支持自定义主题和样式
- 📱 响应式布局:自动适应不同屏幕尺寸
- 🔄 状态管理:支持重置和跳过功能
安装
# 如果你使用npm
npm install xl-guideoverlay
# 如果你使用yarn
yarn add xl-guideoverlay
基础用法
<template>
<xl-guideoverlay
v-model="showGuide"
:step="currentStep"
:steps="guideSteps"
@finish="onFinish"
/>
</template>
<script>
export default {
data() {
return {
showGuide: false,
currentStep: 0,
guideSteps: [
{
selector: '#feature-1',
title: '第一步',
content: '这是第一步的说明',
position: 'bottom'
},
{
selector: '#feature-2',
title: '第二步',
content: '这是第二步的说明',
position: 'right'
}
]
}
},
methods: {
onFinish() {
console.log('引导完成')
}
}
}
</script>
自定义样式
组件支持高度自定义的样式配置,包括高亮框和气泡提示的样式:
<template>
<xl-guideoverlay
v-model="showGuide"
:step="currentStep"
:steps="guideSteps"
:highlight-style="highlightStyle"
:bubble-style="bubbleStyle"
:bubble-offset="30"
@finish="onFinish"
/>
</template>
<script>
export default {
data() {
return {
// 自定义高亮框样式
highlightStyle: {
borderColor: '#FF6B6B',
borderWidth: '4px',
borderStyle: 'solid',
backgroundColor: 'rgba(255, 107, 107, 0.1)',
shadowColor: 'rgba(0, 0, 0, 0.7)'
},
// 自定义气泡样式
bubbleStyle: {
backgroundColor: '#2C3E50',
textColor: '#ECF0F1',
titleColor: '#FFFFFF',
boxShadow: '0 8px 16px rgba(0, 0, 0, 0.2)'
}
}
}
}
</script>
API
Props
参数 |
说明 |
类型 |
默认值 |
modelValue |
是否显示引导遮罩 |
Boolean |
false |
step |
当前步骤 |
Number |
0 |
steps |
引导步骤配置 |
Array |
[] |
closeOnClickMask |
点击遮罩是否关闭 |
Boolean |
false |
showSkip |
是否显示跳过按钮 |
Boolean |
true |
zIndex |
组件层级 |
Number |
10000 |
storageKey |
本地存储键名 |
String |
'guide_completed' |
checkStorage |
是否自动检查本地存储状态 |
Boolean |
true |
highlightStyle |
高亮框样式 |
Object |
见下方说明 |
bubbleStyle |
气泡框样式 |
Object |
见下方说明 |
bubbleOffset |
气泡框与高亮框的间距 |
Number |
25 |
highlightStyle 默认值
{
borderColor: '#6A75FE',
borderWidth: '3px',
borderStyle: 'solid',
backgroundColor: 'rgba(255, 255, 255, 0.1)',
shadowColor: 'rgba(0, 0, 0, 0.6)'
}
bubbleStyle 默认值
{
backgroundColor: '#fff',
textColor: '#666',
titleColor: '#333',
boxShadow: '0 4px 12px rgba(0, 0, 0, 0.15)'
}
Events
事件名 |
说明 |
回调参数 |
update:modelValue |
显示状态变化时触发 |
(value: boolean) |
update:step |
步骤变化时触发 |
(step: number) |
finish |
引导完成时触发 |
- |
skip |
点击跳过按钮时触发 |
- |
next |
点击下一步按钮时触发 |
(currentStep: number) |
prev |
点击上一步按钮时触发 |
(currentStep: number) |
change |
步骤变化时触发 |
(newStep: number) |
方法
方法名 |
说明 |
参数 |
resetGuideStatus |
重置引导状态 |
- |
checkGuideStatus |
检查引导状态 |
- |
注意事项
- 确保目标元素的选择器唯一且正确
- 建议在组件挂载后再显示引导
- 如果使用了本地存储功能,记得在需要重置引导时调用 resetGuideStatus 方法
- 气泡位置会自动根据可用空间调整,确保最佳显示效果
示例
查看完整的示例代码:Demo