driver.js结合vue3使用引导页

654 阅读2分钟

driver.js 是一个帮助开发者为用户提供交互式引导的 JavaScript 库。它通过在页面上展示弹出提示,协助用户理解应用程序的功能和使用方法。使用 driver.js 的一些需求背景:

1. 提升用户体验

  • 用户初次使用应用时,可能对界面及其功能不熟悉。通过提供清晰的引导,driver.js 能够帮助用户更快地掌握关键功能,从而提升用户体验。

2. 减少学习曲线

  • 对于复杂的应用程序,使用者通常需要一定的时间来理解应用的各种功能。引导可以有效缩短用户的学习曲线,使他们能够更快地上手。

3. 增强功能理解

  • 通过具体的提示和说明,用户能够更好地理解每个功能的目的和使用方法。这对于提高用户对应用的满意度至关重要。

4. 降低支持成本

  • 一个良好的引导系统可以减少用户在使用过程中遇到的困惑,从而降低了客户支持服务的需求,使公司能够将资源集中在其他领域。

5. 灵活的自定义

  • driver.js 提供了灵活的配置选项,包括步骤的自定义、弹出框的位置、样式等,使开发者可以根据自身的应用场景进行调整。

6. 适用于多种场景

  • 不论是新用户引导、功能更新通知,还是特定任务的帮助,引导都是一个通用且有效的解决方案。

使用方式

直接参考官方文档配置案例即可:文档地址

# 安装
pnpm install driver.js

效果演示

组件代码

<template>
  <div>
    <h1 ref="title">欢迎使用我的应用</h1>
    <button ref="startButton" @click="startTour">开始引导</button>
    <p>这里是一些说明文本。</p>
    <div ref="feature">这是一个重要的功能。</div>
  </div>
</template>

<script setup lang="ts">
import { ref, onUnmounted } from 'vue'
import { driver } from 'driver.js'
import 'driver.js/dist/driver.css' // 引入driver.js的样式

const title = ref(null)
const startButton = ref(null)
const feature = ref(null)
let driv = driver()

const startTour = () => {
  const driverObj = driver({
    showProgress: true,
    showButtons: ['next', 'previous', 'close'], // 是否显示按钮
    steps: [
      {
        element: title.value,
        popover: {
          // className: "first-step-popover-class",// 自定义样式
          title: '欢迎',
          nextBtnText: '下一步', // 下一步文字 默认是英文
          prevBtnText: '上一步', // 上一步文字
          description: '应用的标题',
          side: 'bottom', // 提示框所在位置
        },
      },
      {
        element: startButton.value,
        popover: {
          title: '开始引导',
          nextBtnText: '下一步', // 下一步文字
          prevBtnText: '上一步', // 上一步文字
          description: '点击按钮开始引导',
          side: 'top',
        },
      },
      {
        element: feature.value,
        popover: {
          title: '重要功能',
          nextBtnText: '下一步', // 下一步文字
          prevBtnText: '上一步', // 上一步文字
          description: '这是一个重要功能的说明',
          side: 'right',
        },
      },
    ],
  })

  driverObj.drive()
}

onUnmounted(() => {
  driv.destroy() // 卸载driver.js
})
</script>

通过结合使用 driver.js,开发者可以确保用户在使用各自的应用时,能够享受到流畅且直观的引导体验,从而更好地理解和使用应用。