『VUE』vue-quill-editor富文本编辑器添加按钮houver提示(详细图文注释)

ops/2025/2/7 1:33:43/

目录

    • 预览效果
    • 新建一个config.js存放标题
    • 编写添加提示的方法
    • 调用添加标题方法的生命周期
    • 总结


欢迎关注 『VUE』 专栏,持续更新中
欢迎关注 『VUE』 专栏,持续更新中

预览效果

在这里插入图片描述


新建一个config.js存放标题

javascript">export const titleConfig = [{ Choice: '.ql-bold', title: '加粗' },{ Choice: '.ql-italic', title: '斜体' },{ Choice: '.ql-underline', title: '下划线' },{ Choice: '.ql-header', title: '段落格式' },{ Choice: '.ql-strike', title: '删除线' },{ Choice: '.ql-blockquote', title: '块引用' },{ Choice: '.ql-code', title: '插入代码' },{ Choice: '.ql-code-block', title: '插入代码段' },{ Choice: '.ql-font', title: '字体' },{ Choice: '.ql-size', title: '字体大小' },{ Choice: '.ql-list[value="ordered"]', title: '编号列表' },{ Choice: '.ql-list[value="bullet"]', title: '项目列表' },{ Choice: '.ql-direction', title: '文本方向' },{ Choice: '.ql-header[value="1"]', title: 'h1标题' },{ Choice: '.ql-header[value="2"]', title: 'h2标题' },{ Choice: '.ql-align', title: '对齐方式' },{ Choice: '.ql-color', title: '字体颜色' },{ Choice: '.ql-background', title: '背景颜色' },{ Choice: '.ql-image', title: '图像' },{ Choice: '.ql-video', title: '视频' },{ Choice: '.ql-link', title: '添加链接' },{ Choice: '.ql-table', title: '添加表格' },{ Choice: '.ql-formula', title: '插入公式' },{ Choice: '.ql-clean', title: '清除字体格式' },{ Choice: '.ql-script[value="sub"]', title: '下标' },{ Choice: '.ql-script[value="super"]', title: '上标' },{ Choice: '.ql-indent[value="-1"]', title: '向左缩进' },{ Choice: '.ql-indent[value="+1"]', title: '向右缩进' },{ Choice: '.ql-header .ql-picker-label', title: '标题大小' },{ Choice: '.ql-header .ql-picker-item[data-value="1"]', title: '标题一' },{ Choice: '.ql-header .ql-picker-item[data-value="2"]', title: '标题二' },{ Choice: '.ql-header .ql-picker-item[data-value="3"]', title: '标题三' },{ Choice: '.ql-header .ql-picker-item[data-value="4"]', title: '标题四' },{ Choice: '.ql-header .ql-picker-item[data-value="5"]', title: '标题五' },{ Choice: '.ql-header .ql-picker-item[data-value="6"]', title: '标题六' },{ Choice: '.ql-header .ql-picker-item:last-child', title: '标准' },{ Choice: '.ql-size .ql-picker-item[data-value="small"]', title: '小号' },{ Choice: '.ql-size .ql-picker-item[data-value="large"]', title: '大号' },{ Choice: '.ql-size .ql-picker-item[data-value="huge"]', title: '超大号' },{ Choice: '.ql-size .ql-picker-item:nth-child(2)', title: '标准' },{ Choice: '.ql-align', title: '文本对齐' },{ Choice: '.ql-align .ql-picker-item:first-child', title: '居左对齐' },{ Choice: '.ql-align .ql-picker-item[data-value="center"]', title: '居中对齐' },{ Choice: '.ql-align .ql-picker-item[data-value="right"]', title: '居右对齐' },{ Choice: '.ql-align .ql-picker-item[data-value="justify"]', title: '两端对齐' }
]

编写添加提示的方法

javascript">
<script>
import {titleConfig} from "@/const/setting/config";methods: {addQuillTitle() {// 如果你只有单个vue-quill-editor 可以用这段注释的代码// for (let item of titleConfig) {//   let tip = document.querySelector(item.Choice)//   // if (!tip) continue//   console.warn(tip)//   console.warn(item.Choice)//   tip.setAttribute('title', item.title)// }// 如果你有多个vue-quill-editor,querySelectorAll遍历给每一个都加上标题for (let item of titleConfig) {let tips = document.querySelectorAll(item.Choice); // 获取所有匹配的元素tips.forEach((tip) => {  // 遍历每个元素console.warn(tip);console.warn(item.Choice);tip.setAttribute('title', item.title);  // 设置 title 属性});}},

调用添加标题方法的生命周期

前面的步骤和网上的大同小异,就是加了一个多个组件的遍历,这一步才是关键

网上都是mounted()中直接调用this.addQuillTitle(),但是我发现不起作用,可能是因为我是组件封装了vue-quill-editor,加载慢了,所以要演示等待才能等dom渲染出来?反正加上了延时就能在mouted中添加上了.

我后来发现用update也行,这个时候dom肯定渲染好了

javascript">mounted() {// setTimeout(()=>{//   this.addQuillTitle()// },1000)},
updated() {this.addQuillTitle()
},

总结

大家喜欢的话,给个👍,点个关注!给大家分享更多计算机专业学生的求学之路!

版权声明:

发现你走远了@mzh原创作品,转载必须标注原文链接

Copyright 2024 mzh

Crated:2024-3-1

欢迎关注 『VUE』 专栏,持续更新中
欢迎关注 『VUE』 专栏,持续更新中
『未完待续』



http://www.ppmy.cn/ops/156308.html

相关文章

64.进度条 C#例子 WPF例子

进度条是比较简单&#xff0c;前台一个进度条&#xff0c;后台给value赋值0到100就可以显示进度了。 完整代码&#xff1a; using System.Text; using System.Windows; using System.Windows.Controls; using System.Windows.Data; using System.Windows.Documents; using Sy…

【lua编程实操(一)】函数和闭包

&#x1f493;博主CSDN主页:杭电码农-NEO&#x1f493;   ⏩专栏分类:lua从入门到精通⏪   &#x1f69a;代码仓库:NEO的学习日记&#x1f69a;   &#x1f339;关注我&#x1faf5;带你学更多lua语言的知识   &#x1f51d;&#x1f51d; lua编程实操 1. 函数的类值2. …

深入探索 Android 技术:从基础到前沿

深入探索 Android 技术&#xff1a;从基础到前沿 在移动应用开发领域&#xff0c;Android 凭借其开源特性和庞大的用户基础&#xff0c;成为开发者们不可忽视的重要平台。今天&#xff0c;让我们深入探讨 Android 技术的方方面面&#xff0c;从基础原理到前沿应用&#xff0c;…

高压GaN(氮化镓)器件在工业和汽车应用存在的致命弱点

高压GaN&#xff08;氮化镓&#xff09;器件在工业和汽车应用存在的致命弱点和被成熟低价的碳化硅MOSFET取代的原因。 高压GaN&#xff08;氮化镓&#xff09;器件虽然因其高电子迁移率、高击穿场强和高频特性备受青睐&#xff0c;但在大功率高压应用&#xff08;如电动汽车、光…

基于PostGIS的省域空间相邻检索实践

目录 前言 一、相关空间检索函数 1、ST_touches函数 2、ST_Intersects函数 3、ST_Relate函数 4、区别于对比 二、空间相邻检索实践 1、省域表相关介绍 2、相关省域相邻查询 3、全国各省份邻居排名 三、总结 前言 在当今数字化时代&#xff0c;地理空间数据的高效管理…

对比JSON和Hessian2的序列化格式

在分布式系统中&#xff0c;数据的序列化和反序列化是关键环节。不同的序列化格式在性能、可读性和跨语言兼容性上存在显著差异。本文将详细对比JSON和Hessian2这两种序列化格式&#xff0c;以帮助开发者在不同的应用场景中做出更好的选择。 JSON 概述 JSON&#xff08;Java…

51单片机 01 LED

一、点亮一个LED 在STC-ISP中单片机型号选择 STC89C52RC/LE52RC&#xff1b;如果没有找到hex文件&#xff08;在objects文件夹下&#xff09;&#xff0c;在keil中options for target-output- 勾选 create hex file。 如果要修改编程 &#xff1a;重新编译-下载/编程-单片机重…

AJAX综合案例——图书管理

黑马程序员视频地址&#xff1a; AJAX-Day02-10.案例_图书管理AJAX-Day02-10.案例_图书管理_总结_V1.0是黑马程序员前端AJAX入门到实战全套教程&#xff0c;包含学前端框架必会的&#xff08;ajaxnode.jswebpackgit&#xff09;&#xff0c;一套全覆盖的第25集视频&#xff0c…