题记:
----- 互联网不该只是技术的,不能简化成内容和工具,它应该属于生活本身


vue-quill-editor 是 Vue 项目中使用的 富文本编辑器

1 引言

在实际应用开发中,在常见的管理后台或者是多媒体管理后台,多多少少都会有富文本编辑器,而在编辑富文本时,通常的一个需求就是在富文本中插入图片或者视频,本篇文章讲述的就是在 vue 项目中,使用 Vue-Quill-Editor 编辑器在富文本中插入视频。

官方的效果如下图1所示 点击这里查看Vue-Quill-Editor官方效果

图1

在实际应用开发中,官方提供的效果往往满足不了我们的效果,而通过我们自定义样式后,达到如下的效果

图2

2 一步步实现我们上面的效果

在实际项目中,我们有引用到 quill-editor 的地方,如这里写的

 <quill-editor class="editer" ref="editer" v-model="dataForm.content":options="editorOption"style="height: 500px;"></quill-editor>

在 vue 中 ref 用来给元素或者子组件 注册引用信息,引用信息会注册在父组件的 refs对象中,也就是说 我们可以通过 this.refs.editer 来获取当前 quill-editor 的实例

在这里 quill-editor 有一个配置信息 editorOption ,editorOption 是定义在 我们的 data() 中

<script>...export default {data() {var self2 = this;return {//显示插入视频链接弹框的标识videoUploadTag: false,//弹框插入的视频链接记录videoLink:"",//quill-editor 编辑器的配置editorOption: {modules: {toolbar: {container: [...['image', 'video']],handlers: {...'video': function(value) {self2.videoUploadTag = true;}}}}},}

在上述代码块中,通过 toolbar 来配置 quill-editor 编辑器的菜单栏 ,如这里配置的 [‘image’, ‘video’] 在编辑器中如下显示 图3

通过在 handlers 配置 ‘video’: function(value) 来自定义quill-editor 编辑器的菜单栏中的视频图标点击事件,在这里,当点击菜单栏的视频图标时,这里定义的方法监听到点击事件,然后将 标识 videoUploadTag 的值修改为 true,在页面上显示插入视频链接地址的弹框

    <!--videoUploadTag 默认是 false --><!--所以这里的上传弹框是隐藏的 --><!--当点击编辑器菜单栏中的视频图标时,将videoUploadTag 修改为 true 在页面上显示出来插入视频的弹框--><div :visible.sync="videoUploadTag"><el-dialogwidth="50%"id="video_upload"style="margin-top: 1px"title="视频上传":visible.sync="videoUploadTag"append-to-body><el-tabs v-model="activeName" @tab-click="videoSelectTagClick" value="0"><el-tab-pane label="添加视频链接" name="first"><el-input v-model="videoLink" placeholder="请输入视频链接" clearable></el-input><el-button type="primary" size="small"style="margin: 20px 0px 0px 0px" @click="addVideoLink()">添加</el-button></el-tab-pane><el-tab-pane label="素材库" name="second">请期待</el-tab-pane></el-tabs></el-dialog></div>

在这里使用到的 el-dialog、el-tabs、el-input 等等是 element ui框架点击这里查看element

当点击 添加按钮时会调用 addVideoLink() 方法 图4

在代码中 addVideoLink() 的定义如下

    methods: {addVideoLink() {if (this.videoLink.length == 0) {alert('请输入视频链接');}//当编辑器中没有输入文本时,这里获取到的 range 为 nullvar range = this.$refs.editer.quill.getSelection();//视频插入在富文本中的位置var index = 0;if (range == null) {index = 0;} else {index = range.index;}//隐藏弹框this.videoUploadTag = false;//将视频链接插入到当前的富文本当中this.$refs.editer.quill.insertEmbed(index, 'video', this.videoLink);},
}

最终我们实现了如图2中所示的效果。

3 嵌入分享视频代码

使用 哔哩哔哩 或者腾讯视频 中的分享中的嵌入代码,如下图中,在所有的视频播放平台,点击分享,分有视频地址或者是嵌入代码


复制出的代码格式如下:

<iframe src="//player.bilibili.com/player.html?aid=96182767&bvid=BV1zE411V7Th&cid=164196534&page=1" scrolling="no" border="0" frameborder="no" framespacing="0" allowfullscreen="true"> </iframe>

在这里 我们使用的是嵌入代码,如在我们的编辑器中

vue 中

      //在点击添加的时候调用函数addVideoCodeLink() {console.log('输入的内容');///这里的 videoCodeLink 是绑定的输入框内的变量if (this.videoCodeLink.length === 0) {alert('请输入视频链接');return;} else {console.log(this.videoCodeLink);}///获取编辑器中光标的位置var selectionQuill = this.$refs.editer.quill.getSelection();var index = 0;///当编辑器中没有内容时,这里获取的 selectionQuill 为 nullif(selectionQuill !== null){index = selectionQuill.index;}///以引号分隔嵌入的视频代码 如下图中有分析var list = this.videoCodeLink.split('"');///取出src中的视频独家报道var item = list[1];///将视频链接插入到编辑器中this.$refs.editer.quill.insertEmbed(index, 'video', item);},


完结

vue中富文本编辑器vue-quill-editor在vue中自定义选择视频插入编辑文章中相关推荐

  1. Vue中富文本编辑器的使用

    基于 Vue 的富文本编辑器有很多,例如官方就收录推荐了一些: https://github.com/vuejs/awesome-vue#rich-text-editing . 这里我们以 eleme ...

  2. Vue 富文本编辑器插件 vue-quill-editor 坑!

    Vue3 + vue-quill-editor 安装步骤: vue3 安装vue-quill-editor npm install @vueup/vue-quill vue2 安装vue-quill- ...

  3. 后台管理系统中富文本编辑器 wangeditor 的简单使用(未封装)

    项目场景:后台管理系统中富文本编辑器wangeditor的使用 wangeditor使用时新增编辑及回显 1.安装wangeditor插件 npm install wangeditor 2.html中 ...

  4. 在HTML中标记tel是什么意思,'tel'属性在AEM 6.1的经典UI中富文本编辑器中的锚标记的href中不起作用...

    我正在使用AEM 6.1 SP2,我试图在定位标记的href中启用'tel'属性以使点击调用功能性工作.我已经添加了'htmlRules'节点 ,并将htmlRules节点下的节点与'protocol ...

  5. vue 富文本编辑器 quill (含代码高亮、自定义字体、汉化、鼠标悬浮提示、组件封装等)

    基本使用 安装依赖 npm i quill .vue文件 <div ref="editor" :style="finalStyle"></di ...

  6. Element Tiptap Editor - 免费开源的 Vue 富文本编辑器,专门为搭配 Element UI 使用优化,使用很简单

    一款很容易上手配置的富文本编辑器,和 Element plus 一起使用效果非常好,还能自定义功能. 关于 Element Tiptap Editor Element Tiptap Editor 是一 ...

  7. vue富文本编辑器 Vue-Quill-Editor

    主流富文本编辑器对比 前言:vue中很多项目都需要用到富文本编辑器,在使用了ueditor和tinymce后,发现并不理想.所以果断使用vue-quill-editor来实现. wangEditor( ...

  8. Vue富文本编辑器vue-quill-editor-使用-bug问题-教程

    vue-quill-editor npm install vue-quill-editor –save or yarn add vue-quill-editor 文件中使用 <template& ...

  9. 特别好用的Vue富文本编辑器wangEditor自己使用案例组件,附源码,直接使用

    前言:已组件化,引入即可使用,包含本地图片上传可拖拽大小.效果图如下:附源码 1.首先老规矩,引入下面两个包 npm i @wangeditor/editor --save npm i @wanged ...

最新文章

  1. 一男子蒙冤入狱 10 天,竟是 AI 认错了!
  2. 《面向对象程序设计》第07章在线测试
  3. Github android客户端源代码分析之一:环境搭建
  4. 一文教你轻松搞定ANR异常捕获与分析方法
  5. MySQL : MySQL如何查看操作记录
  6. NLB群集的两种操作模式-2
  7. arcgis runtime for android 100.13.0 入门系列,一、初步引入与运行
  8. Tomcat安装与配置(详细步骤)
  9. 神经网络训练结果都是1,神经网络训练效果不好
  10. 绿城离职员工万言书全文
  11. 【迅为6818开发板资料】安卓7.1 系统编译手册
  12. java中boot是什么,Spring boot是什么
  13. 微信小程序——new Date()显示NAN + 正则表达式
  14. DbVisualizer解决中文乱码问题
  15. 家庭组网 光猫+交换机利用VLAN划分实现客厅IPTV机顶盒与上网路由器单线复用(上)
  16. C#超市进销存系统管理源码(CS架构)
  17. 数学建模清风微信公众号的习题答案(挑战篇-数据异常值处理)
  18. 简单的一些网络流问题
  19. CCF201403-5 任务调度
  20. 电磁波传播相位是否会变化,关于电磁波的相位不变性和多普勒效应的讨论

热门文章

  1. 2020顶会指南:征稿截止时间、举办地、举办时间一览
  2. 比手工模型快10~100倍,谷歌揭秘视频NAS三大法宝
  3. 图像去重,4 行代码就能实现,你值得拥有imagededup
  4. PyTorch语义分割开源库semseg
  5. python哪几种开源框架成为大主流【菜鸟必看】
  6. css倒序循环,不借助后台和 JS ,只用 CSS 让一个列表编号倒序
  7. 玩家在RTX 3090显卡中发现了指套
  8. PyTorch | torch.zeros()如何使用?torch.zeros使用方法 | torch.zeros()例子
  9. 思考 | 沈向洋博士:三十年科研路,我踩过的那些坑
  10. Github | 商汤出品-可在视频里追踪单个对象PySOT