图文编辑组件

  • 1.代码
  • 2. 引用
  • 3. 页面样式

ps:使用该组件需另外安装vue-quill-editor插件

1.代码

<template><div class="public-vue-quill-editor"><quill-editor v-model="value2" ref="myQuillEditor" :options="editorOption"></quill-editor><!-- 自定义上传图片组件 --><public-upload-image:btnId="btnId":show="false"@success="customerImgSuccessHandler":limit="1000"/></div>
</template>
<script>/*** @editorOption quill-editor组件配置信息* @value 默认值*/
import 'quill/dist/quill.snow.css'
import { quillEditor } from 'vue-quill-editor'
// import Delta from 'quill-delta'
export default {name: 'public-vue-quill-editor',data() {return {value2: ''}},props: {btnId: { type: String, default: 'customerUploadImageComponent' },editorOption: {type: Object,default: () => ({modules: {toolbar: [[],['image']]},theme: 'snow',placeholder: '请输入内容'})},value: { type: String, default: '' }},components: { quillEditor },computed: {},created() {},onload() { },onShow() { },watch: {value2: {handler: function (newVal, oldVal) {this.$emit('liveUpdate', newVal)},immediate: true,deep: true},value: {handler: function (newVal, oldVal) {this.value2 = JSON.parse(JSON.stringify(newVal))},immediate: true,deep: true}},mounted() {let that = thisthis.$refs.myQuillEditor.quill.getModule('toolbar').addHandler('image', this.customerImgInsertHandler)this.$refs.myQuillEditor.quill.clipboard.addMatcher(Node.ELEMENT_NODE, function (node, delta) {let ops = []delta.ops.forEach(op => {if (op.insert && typeof op.insert === 'string') { // 如果粘贴了图片,这里会是一个对象,所以可以这样处理ops.push({insert: op.insert})} else {that.$message({message: '不允许粘贴图片,请手动上传',type: 'warning'})}})delta.ops = opsreturn delta})},methods: {customerImgSuccessHandler(val) {if (val) {let imgarr = val.split(',')let quill = this.$refs.myQuillEditor.quilllet length = quill.getSelection().indexquill.insertEmbed(length, 'image', imgarr[imgarr.length - 1])quill.setSelection(length + 1)}},customerImgInsertHandler(state) {this.insertImg = truethis.addRange = this.$refs.myQuillEditor.quill.getSelection()if (state) {document.getElementById(this.btnId).click()}}}
}</script>
<style lang="less" scoped>.public-vue-quill-editor {.quill-editor {height: 450px;}
}</style>

2. 引用

<public-vue-quill-editor :value="form.details" @liveUpdate="(val)=>{form.details=val}" />

3. 页面样式

【vue】vue组件之图文编辑相关推荐

  1. Vue 3 组件开发:搭建基于SpreadJS的表格编辑系统(环境搭建)

    Vue是一套用于构建用户界面的渐进式框架,与其它大型 JS 框架不同,Vue 被设计为可以自底向上逐层应用,更易上手,还便于与第三方库或既有项目整合,因此,Vue完全能够为复杂的单页应用提供驱动. 2 ...

  2. 【独立版】智慧城市同城V4_2.1.4全开源全插件VUE版,修复房产信息组件后台资料编辑中会显示其他平台小区的问题

    源码介绍 [独立版]智慧城市同城V4_2.1.4全开源全插件VUE版,修复房产信息组件后台资料编辑中会显示其他平台小区的问题!智慧城市同城是一套专注于多城市生活服务同城技术解决方案,全面覆盖同堿信息. ...

  3. 构建你的第一个Vue.js组件

    我记得当时我拿起CakePHP,我很喜欢,开始使用它是多么容易.这些文档不仅结构合理,详尽无遗,而且用户友好.多年以后,这正是我在Vue.js中感受到的.然而,与Cake相比,Vue文档仍然缺少一件事 ...

  4. 创建, 发布自己的 Vue UI 组件库

    创建, 发布自己的 Vue UI 组件库 前言 在使用 Vue 进行日常开发时, 我们经常会用到一些开源的 UI 库, 如: Element-UI_, _Vuetify 等. 只需一行命令, 即可方便 ...

  5. 16款优秀的Vue UI组件库推荐

    16款优秀的Vue UI组件库推荐 Vue 是一个轻巧.高性能.可组件化的MVVM库,API简洁明了,上手快.从Vue推出以来,得到众多Web开发者的认可. 在公司的Web前端项目开发中,多个项目采用 ...

  6. Vue.js组件化开发实践

    Vue.js组件化开发实践 前言 公司目前制作一个H5活动,特别是有一定统一结构的活动,都要码一个重复的轮子.后来接到一个基于模板的活动设计系统的需求,便有了一下的内容.首先会对使用Vue进行开发的一 ...

  7. VUE.JS 组件化开发实践

    前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家.点击跳转到教程. 前言 公司目前制作一个H5活动,特别是有一定统一结构的活动,都要码一个重复的轮子.后来接到一个基于模 ...

  8. vue import组件的使用

    vue import组件的使用 1新建/src/component/firstcomponent.vue <template><div id="firstcomponent ...

  9. vant引入组件报错_强烈推荐优秀的Vue UI组件库

    在我们实际开发中常常因为项目周期短不得不引入一些UI框架来辅助开发 那常见的比较好的UI框架有那些呢(基于VUE) Element UI组件库 (pc端) Element,一套为开发者.设计师和产品经 ...

最新文章

  1. 具体数学第二版第四章习题(1)
  2. 湖南对口升学计算机组装考点,全国计算机等级考试湖南省考点名单及联系方式...
  3. 误人子弟的网络,谈谈HTTP协议中的短轮询、长轮询、长连接和短连接(转载)
  4. 一场关于动态化开发实践的技术探讨
  5. java中的等待_Java中更好的等待语法
  6. 【翻译】使用PowerShell获取网站运行时数据
  7. 用深度学习来解析梦境中出现的物体
  8. 【matlab】直方图均衡化
  9. php post 漏洞_WordPress漏洞分析
  10. 【linux】16进制格式查看命令hexdump
  11. 加号和减号在一起怎么读_数学符号里的“加减”是“±”,那么“减加”怎么打?求高手!!!!!!!!! word中加号和减号放在一起怎么打出来?...
  12. 安徽财贸职业学院计算机信息管理怎么样,让别人看看安徽财贸职业学院计算机系汪永涛辅导员如何对待我的!!...
  13. PTA(Java类与对象 方法,方法重载) 7-1 设计一个风扇Fan类
  14. 送 10 本签名书!
  15. 数码相机闪光灯存储卡挑选篇
  16. 【C51定时计数器讲解】
  17. 23中北大学计算机/软件考研必知
  18. win10恢复经典开始菜单_厌倦了默认的Win10开始菜单外观?这是自定义的方法
  19. 华为云桌面,助力企业扬帆起航
  20. Functional Programming in Java venkat(5) Using Collections part3

热门文章

  1. Corel Video Studio X5(会声会影)使用注意事项
  2. C2科一考试道路交通安全违法处罚
  3. SpringMVC的简单入门
  4. 计算机组成原理作业五
  5. 佳能600D入门秘籍(五)
  6. 游戏服务器宠物系统如何实现,宠物王国PK系统介绍 瞬间转换服务器
  7. 不用 996,弹性时间搭配各种福利,来美餐做我的同事吗?
  8. 详解CAN的高层协议(三)
  9. oppok7和小米10青春版 的区别 哪个好
  10. 实战篇:UART串口连续接收实现