elementui 集成富文本编辑器vue-quill-editor

2023-11-09

第一步:安装vue-quill-editor

cnpm install vue-quill-editor -S

第二步:VUE项目集成vue-quill-editor

main.js 文件 添加如下代码片段:

import VueQuillEditor from 'vue-quill-editor'
import 'quill/dist/quill.core.css'
import 'quill/dist/quill.snow.css'
import 'quill/dist/quill.bubble.css'

Vue.use(VueQuillEditor)

指定单页面引用富文本:

template 相关定义:

  <el-dialog title="添加通知" :visible.sync="dialogFormAdd">
      <el-form :model="notice" label-width="100px">
        <el-form-item label="通知标题" >
          <el-input v-model="notice.title" auto-complete="off"></el-input>
        </el-form-item>
        <el-form-item label="通知内容">
         <quill-editor 
            v-model="notice.content" 
            ref="myQuillEditor" 
            :options="editorOption" 
            @blur="onEditorBlur($event)" 
            @focus="onEditorFocus($event)"
            @change="onEditorChange($event)">
         </quill-editor>
        </el-form-item>
      </el-form>
      <div slot="footer" class="dialog-footer">
        <el-button @click="dialogFormAdd = false">取 消</el-button>
        <el-button type="primary" @click="add(notice)">确 定</el-button>
      </div>
    </el-dialog>

数据和方法相关定义:

data:

 editorOption: {
                modules: {
                    toolbar: {container:[
                    ['bold', 'italic', 'underline', 'strike'],
                    ['blockquote', 'code-block'],
                    [{ 'header': 1 }, { 'header': 2 }],
                    [{ 'list': 'ordered' }, { 'list': 'bullet' }],
                    [{ 'script': 'sub' }, { 'script': 'super' }],
                    [{ 'indent': '-1' }, { 'indent': '+1' }],
                    [{ 'direction': 'rtl' }],
                    [{ 'size': ['small', false, 'large', 'huge'] }],
                    [{ 'header': [1, 2, 3, 4, 5, 6, false] }],
                    [{ 'font': [] }],
                    [{ 'color': [] }, { 'background': [] }],
                    [{ 'align': [] }],
                    ['clean'],
                    ['link', 'image']
                    ],
                    handlers: {
                        'image': function(value) {
                            if (value) {
                                document.querySelector('.edit-uploader input').click()
                            } else {
                                this.quill.format('image', false);
                            }
                            // this.$refs.aUpload.click() //自定义图片上传回调
                        }
                    }
                    },
                    syntax: {
                        highlight: text => hljs.highlightAuto(text).value
                    }
                }
        }

method:

 // 富文本编辑方法
         onEditorReady(editor) { // 准备编辑器
        },
        onEditorBlur(){}, // 失去焦点事件
        onEditorFocus(){}, // 获得焦点事件
        onEditorChange(){}, // 内容改变事件
        beforeEditorUpload() {
            // 显示loading动画
            this.quillUpdateImg = true
        },
        
        editorUploadSuccess(res, file) {
            // 获取富文本组件实例
            let quill = this.$refs.myQuillEditor.quill
            // 如果上传成功
            if (res.code === 0) {
                // 获取光标所在位置
                let length = quill.getSelection().index;
                // 插入图片  res.info为服务器返回的图片地址
                quill.insertEmbed(length, 'image', res.data.filepath)
                // 调整光标到最后
                quill.setSelection(length + 1)
            } else {
                this.$message.error('图片插入失败')
            }
            // loading动画消失
            this.quillUpdateImg = false
        },
    
        // 富文本图片上传失败
        editorUploadError() {
            // loading动画消失
            this.quillUpdateImg = false
            this.$message.error('图片插入失败')
        }

第三步:VUE项目集成vue-quill-editor效果展示

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

elementui 集成富文本编辑器vue-quill-editor 的相关文章

随机推荐

  • 栈、队列的基本概念和操作

    目录 一 栈 stack 了解 1 1 栈的实现和操作 二 队列 queue 了解 2 1 队列的实现与操作 2 2 双端队列 一 栈 stack 了解 概念 栈 stack 有些地方称为堆栈 是一种容器 可存入数据元素 访问元素 删除元素
  • hive指定字段插入数据,包含了分区表和非分区表

    1 建表 语句如下 CREATE EXTERNAL TABLE ods lineitem full l shipdate date l orderkey bigint l linenumber int l partkey int l sup
  • 【使用kubeadm安装部署K8S】

    问题 使用kubeadm安装部署K8S 该篇文章介绍利用kubeadm进行安装部署K8S 方法 1 准备环境 软件环境 软件 版本 操作系统 CentOS7 9 x64 mini Docker 19 ce Kubernetes 1 20 服
  • MFC中使用CBitmap类进行绘图

    大家看名字就可以知道 这个类是用来绘制位图的 即以 bmp 为后缀的图片 一般游戏之中 需要使用的图片比较多 都会将图片先存为文件 然后从文件中读取 而从文件中读取图片的步骤有以下几步 1 建立一个与窗口DC兼容的内存DC 我们加载的图片是
  • 推荐几个Python爬虫接单渠道

    说起兼职 我有一位做了4年Python工程师的朋友 爬虫做副业起码挣了20W 写各种奇葩爬虫挣钱 爬虫兼职方式多 单也很多 首先是爬虫外包活 国内有平台接单 价格500 4000不等 也可以帮互联网运营爬数据做网站 那群人一天到晚死磕数据
  • CXF拦截器

    引言 CXF拦截器是Apache CXF里面一个很重要的功能 它能够动态操作响应数据和请求数据 降低代码的耦合性 提供代码的内聚性 这对于CXF这个以处理消息为中心的服务框架来说是非常有用的 CXF通过在Interceptor中对消息进行特
  • mysql 创建订单表语句_MySQL创建表语句

    表 t admin tabs 列信息 Field Type Collation Null Key Default Extra Privileges Comment admin id int 11 unsigned NULL NO PRI N
  • local reference table overflow 内存泄露

    local reference table overflow JNI层coding经常会遇到ReferenceTable overflow问题 特别是当jni函数被反复调用上千上万次的时候 现汇总如下 未完待续 并欢迎补充 嘻嘻 总体原则
  • FileZilla连接阿里云服务器:尝试连接“ECONNREFUSED - 连接被服务器拒绝”失败

    4 FileZilla连接阿里云服务器 目的 可以更好的管理云文件 1 在远程服务器端通过指令vim etc ssh sshd config开放22号端口 2 设置云服务器的安全组ID 添加20 21 3 然后启动FileZilla 新建站
  • 6.143 指针习题10

    关于二维数组 指针运算问题 注意二维指针需要解两次引用 即第 0 个元素是 a 见下例 include
  • android studio 监听返回键,最强 Android Studio 使用小技巧和快捷键

    第一步 新建一个project 或者如果你已经有project的话 那就直接新建一个module 注意选择Java library 然后下一步 第二步 编写MyClass java 第三步 在MyClass java文件右击 选择run M
  • getjson ajax webpy,ajaxwebpy

    ajaxweb py is a framework for the library web py It which makes it very easy to make sites interactive using AJAX techno
  • 手机有时触摸失灵解决方法

    1 屏幕不干净造成的屏幕不灵敏 用干净的无尘布将手机上的脏污 水渍擦拭干净 2 手机有贴膜 确认用户是否贴膜之后出现屏幕失灵问题 可将膜去掉再使用对比 3 操作耽搁软件时屏幕失灵 可备份好软件数据 进入设置 应用与权限 更多设置 应用管理
  • seed+transformer+finetune+图文融合+VLP+Prompt Learning整合

    1 Seed 在神经网络中 参数默认是进行随机初始化的 不同的初始化参数往往会导致不同的结果 如果不设置的话每次训练时的初始化都是随机的 导致结果不确定 当得到比较好的结果时我们通常希望这个结果是可以复现的 如果设置初始化 则每次初始化都是
  • 剑指 Offer 66. 构建乘积数组(java+python)

    给定一个数组 A 0 1 n 1 请构建一个数组 B 0 1 n 1 其中 B i 的值是数组 A 中除了下标 i 以外的元素的积 即 B i A 0 A 1 A i 1 A i 1 A n 1 不能使用除法 示例 输入 1 2 3 4 5
  • jmeter性能测试——性能的评定标准

    性能的评定标准 性能指标 响应时间 指的是从客户端发出请求开始 到接收到服务器的响应 并且看到响应的内容为止 这个时间段 称为响应时间 响应时间 网络传输的时间 服务器处理的时间 浏览器解析呈现的时间 如何弱化网络传输的时间和浏览器解析呈现
  • PackageInstaller 原理简

    http topic csdn net u 20110410 23 43571CFA 87B2 4E36 880C 1FA499BA32B0 html 应用安装是智能机的主要特点 即用户可以把各种应用 如游戏等 安装到手机上 并可以对其进行
  • 华为OD机试 - 任务最优调度(Java)

    题目描述 给定一个正整数数组表示待系统执行的任务列表 数组的每一个元素代表一个任务 元素的值表示该任务的类型 请计算执行完所有任务所需的最短时间 任务执行规则如下 任务可以按任意顺序执行 且每个任务执行耗时间均为1个时间单位 两个同类型的任
  • Nuxt 3.0 全栈开发:五种数据获取 API 选择和应用最佳实践

    Nuxt 3 0 全栈开发 杨村长 掘金小册核心知识 工程架构 全栈进阶 项目实战 快速精通 Nuxt3 开发 Nuxt 3 0 全栈开发 由杨村长撰写 299人购买https s juejin cn ds S6p7MVo 上一讲我们学习了
  • elementui 集成富文本编辑器vue-quill-editor

    第一步 安装vue quill editor cnpm install vue quill editor S 第二步 VUE项目集成vue quill editor main js 文件 添加如下代码片段 import VueQuillEd