vue3.2 之 driver引导页的使用

2023-11-09

vue3.2 之 driver引导页的使用

  • 安装:
    • yarn add driver.js

components / driver / index.vue

<!-- yarn add driver.js-->
<template>
  <div id="driverID" @click.prevent.stop="handleDriver">引导</div>
</template>

<script setup lang="ts" name="Driver">
import Driver from 'driver.js'
import 'driver.js/dist/driver.min.css'
import { steps } from './steps.ts'
// import { watchLang } from '@/i18n/watchLang.ts'
import i18n from '@/i18n'
const t = i18n.global.t
import { onMounted, watch } from 'vue'
let driver: any
onMounted(() => {
  initDriver()
})

const initDriver = () => {
  driver = new Driver({
    animate: false, // Whether to animate or not
    opacity: 0.75, // Background opacity (0 means only popovers and without overlay)
    padding: 10, // Distance of element from around the edges
    allowClose: true, // Whether the click on overlay should close or not
    overlayClickNext: false, // Whether the click on overlay should move next

    doneBtnText: t('driver.doneBtnText'), // Text on the final button
    closeBtnText: t('driver.closeBtnText'), // Text on the close button for this step
    stageBackground: '#ffffff', // Background color for the staged behind highlighted element
    nextBtnText: t('driver.nextBtnText'), // Next button text for this step
    prevBtnText: t('driver.prevBtnText') // Previous button text for this step
  })
}

const handleDriver = () => {
  driver.defineSteps(steps(t))
  driver.start()
}
</script>
<style lang="scss" scoped></style>

components / driver / steps.ts

export const steps = (i18n) => [
  {
    element: '#driverID',
    popover: {
      title: i18n('driver.title'),
      description: `开始`,
      position: 'left'
    },
    onNext: (ele) => {
      console.log(ele)
    }
  },
  {
    element: '#guideID1',
    popover: {
      title: i18n('driver.title1'),
      description: '引导页1',
      position: 'bottom'
    },
    onNext: (ele) => {
      console.log(ele)
    }
  },
  {
    element: '#guideID2',
    popover: {
      title: i18n('driver.title2'),
      description: '引导页2',
      position: 'bottom'
    },
    onNext: (ele) => {
      console.log('指引结束')
    }
  }
]

使用

    <div class="test">
      <div id="guideID1">引导页1</div>
      <div id="guideID2">引导页2</div>
    </div>
<Driver class="driver-con" />

import Driver from '@/components/driver/index.vue'

效果

在这里插入图片描述
在这里插入图片描述

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

vue3.2 之 driver引导页的使用 的相关文章

随机推荐

  • 【Python】‘builtin_function_or_method‘ object is not subscriptable 错误

    Python数组初始化报错 括号问题 错误方式 inArr array ffMiles percentTags iceCream 正确方式 inArr array ffMiles percentTags iceCream
  • openjudge数据结构练习集 字符栈的实现

    字符栈的实现 查看 提交 统计 提问 总时间限制 1000ms 内存限制 1024kB 描述 本程序定义了一个有头结点的链栈 栈的数据元素类型是字符型 并实现了它的创建 入栈 出栈 获取栈顶元素 判断栈是否为空 销毁栈等操作 为了测试这些操
  • 千万不要这样使用Arrays.asList !

    作者 flyhero 微信公众号 码上实战 ID Push Code 使用Arrays asList 的原因无非是想将数组或一些元素转为集合 而你得到的集合并不一定是你想要的那个集合 而一开始asList的设计时用于打印数组而设计的 但jd
  • IDEA 查找某个 jar 包是如何被引入的

    IDEA 查找某个 jar 包是如何被引入的 方法一 我们借助 IDEA 的 maven 工具 在 maven 栏右键项目模块 选择 show Dependencies或 Ctrl Shift Alt U 这时候会展示当前模块的 jar 包
  • RT-Thread 实时操作系统(一)

    视频播放地址 https www bilibili com video BV1Cb4y1m7W5 p 2 vd source b91967c499b23106586d7aa35af46413 0 学习路线 1 RT Thread简介 2 R
  • u3d 2D Animator AnimationClip复用方案

    新做了个2D游戏 类似小时候红白机的 热血格斗 比较菜 人物2d动画就用的Animator 碰撞块的方法做的 移动 攻击等做成Clip然后通过Animator控制 发现一个人物一个Animator N个片断 然后要制作10多个不同的人物 但
  • discuz密码找回:忘记管理员密码,忘记UCENTER创始人密码

    discuz站点 忘记管理员密码或忘记ucenter管理员密码怎么办 discuz管理员密码修改 第一步进入uc后台 域名 uc server 如果uc密码忘记请继续往下看 找到用户管理里编辑管理员账号 第二步把想改的密码输入进去直接提交就
  • .pgr照片文件解析,C++与Java存储数据差别大小端模式

    1 pgr是什么 pgr文件是二进制的图像文件 可以用普通的文本文件打开 或者查看十六进制的文本信息 读取需要了解 非常重要 基本数据类型的大小端存储模式 表头Header 详细信息可参考 http www powergrep com ma
  • 替换jar包内的class文件

    前提 项目几年没有更新 不确定手头上的代码是否最新内容 只能通过替换class文件进行更新 1 从本地项目中拿到class文件 2 复制jar包到文件夹中 打开cmd窗口 创建对应jar包下的文件夹 把本地项目的class文件放进去 例 m
  • 曾有一个人,爱我如生命(3)

    第十一章 一切都已结束 不再藕断丝连 我最后一次拥抱你的双膝 说出令人心碎的话语 一切都已结束 回答我已听见 我不愿再一次将自己欺骗 也许 往事终会将我遗忘 我此生与爱再也无缘 普希金 往事 那些天我不知道是怎么熬过来的 什么事都做不下去
  • golang 命令行cobra妙用

    为什么使用命令行 大型项目中少不了数据升级 如果采用web服务 一来不够安全 二来数据量大的时候也会出超时的情况 这时使用命令行是比较合适的方式了 命令行中的MVC web项目一般采用MVC模式 对于命令行有吗 对于命令行则有command
  • Unity——Transform类

    transform position 基础知识 Transform作为Unity中游戏对象最为重要的组件 位置 作为Transfrom组件的一个属性 具有同等重要的地位 Transform组件下有两个 位置 属性 position 指的是游
  • 华为OD机试-报文转换 只有20%通过率。但是没没找到未通过原因

    机试题只有AC20 但是目前没看到原因 我看有人说是16进制的原因 但是输出也是16进制 是不用转换的吧 因为我全部都是用的String 不存在说数据被我转成了10进制 报文转义功能 报文中如果出现0x0A 转义成两个字节0x12 0x34
  • 文件上传漏洞php相关函数

    1 file exists path 检查文件或目录是否存在 参数 描述 path 必需 规定要检查的路径 如果指定的文件或目录存在则返回 TRUE 否则返回 FALSE 2 move uploaded file file newloc 把
  • Delphi2007中提示Application.Exename错误的处理办法

    将application exename改为forms application exename 错误提示
  • 中国各省区块链政策竞争力指数TOP10(2020年10月)

    顺应着国家大力发展区块链的趋势 自2020年以来 全国迎来了区块链政策热潮 中央以及各地方政府纷纷颁布区块链相关政策 此前 链塔智库发布过系列文章 中国区块链50城 通过扫描城市经济发展水平 政府区块链政策及支持力度 区块链投融资事件 区块
  • VUE设置浏览器icon图标

    在创建Vue项目时一般会用默认的项目标题和图标 如下图所示 不是很美观也可能不符合项目的需求 所以有时候就需要改变项目在浏览器上方的标签名称或者图标 找到项目根目录的index html 如图 进去就能够修改title 也就是在浏览器上方的
  • sklearn中ValueError: Unknown label type: ‘continuous‘错误解决

    ValueError Unknown label type continuous 错误解决 今天在做决策树鸢尾花分类时出现了一个错误 解决方法是 train y后加上astype int 即可
  • unity中物体移动到指定位置的四种方法

    法一 使用Vector3 MoveTowards 方法 void Update float step Speed Time deltaTime gameObject transform localPosition Vector3 MoveT
  • vue3.2 之 driver引导页的使用

    目录 vue3 2 之 driver引导页的使用 components driver index vue components driver steps ts 使用 效果 vue3 2 之 driver引导页的使用 安装 yarn add