Vue-Quill-Editor富文本编辑器的使用教程


Posted in Javascript onSeptember 21, 2018

本文为大家分享了Vue Quill Editor富文本编辑器的具体使用方法,供大家参考,具体内容如下

先看效果图:

Vue-Quill-Editor富文本编辑器的使用教程    

 1、下载Vue-Quill-Editor 

npm install vue-quill-editor --save

2、下载quill(Vue-Quill-Editor需要依赖) 

npm install quill --save

3、代码 

<template>
  <div class="edit_container">
    <quill-editor 
      v-model="content" 
      ref="myQuillEditor" 
      :options="editorOption" 
      @blur="onEditorBlur($event)" @focus="onEditorFocus($event)"
      @change="onEditorChange($event)">
    </quill-editor>
  </div>
</template>
<script>
import { quillEditor } from "vue-quill-editor"; //调用编辑器
import 'quill/dist/quill.core.css';
import 'quill/dist/quill.snow.css';
import 'quill/dist/quill.bubble.css';
export default {
  components: {
    quillEditor
  },
  data() {
    return {
      content: `<p></p><p><br></p><ol><li><strong><em>Or drag/paste an image here.</em></strong></li><li><strong><em>rerew</em></strong></li><li><strong><em>rtrete</em></strong></li><li><strong><em>tytrytr</em></strong></li><li><strong><em>uytu</em></strong></li></ol>`,
      editorOption: {}
    }
  },
  methods: {
    onEditorReady(editor) { // 准备编辑器
 
    },
    onEditorBlur(){}, // 失去焦点事件
    onEditorFocus(){}, // 获得焦点事件
    onEditorChange(){}, // 内容改变事件
  },
  computed: {
    editor() {
      return this.$refs.myQuillEditor.quill;
    },
  }
}
</script>

OK,搞定,简洁的富文本编辑器就展现在你眼前了,另外附上API。Vue-Quill-Editor

4、存储及将数据库中的数据反显为HTML字符串

后台接收到数据后会将字符中的标签进行转码,所以我们要先进行一个解码的操作让他变成标签形式的字符串:
例如后台接收的数据如下:"<h1>title<"  ,对应解码后就是`<h1>title</h1>`。

//把实体格式字符串转义成HTML格式的字符串
escapeStringHTML(str) {
  str = str.replace(/</g,'<');
  str = str.replace(/>/g,'>');
  return str;
}

然后将返回值赋值给对应的参数: 

<div v-html="str" class="ql-editor">
  {{str}}
</div>

上面的str就是转码函数返回的值,我们要先在data中定义,所以我现在将新增跟展示放在一起,代码如下:

<template>
  <div class="edit_container">
    <!-- 新增时输入 -->
    <quill-editor 
      v-model="content" 
      ref="myQuillEditor" 
      :options="editorOption" 
      @blur="onEditorBlur($event)" @focus="onEditorFocus($event)"
      @change="onEditorChange($event)">
    </quill-editor>
    <!-- 从数据库读取展示 -->
    <div v-html="str" class="ql-editor">
      {{str}}
    </div>
  </div>
</template>
<script>
import { quillEditor } from "vue-quill-editor"; //调用编辑器
import 'quill/dist/quill.core.css';
import 'quill/dist/quill.snow.css';
import 'quill/dist/quill.bubble.css';
export default {
  components: {
    quillEditor
  },
  data() {
    return {
      content: `<p></p><p><br></p><ol><li><strong><em>Or drag/paste an image here.</em></strong></li><li><strong><em>rerew</em></strong></li><li><strong><em>rtrete</em></strong></li><li><strong><em>tytrytr</em></strong></li><li><strong><em>uytu</em></strong></li></ol>`,
      str: '',
      editorOption: {}
    }
  },
  methods: {
    onEditorReady(editor) { // 准备编辑器
 
    },
    onEditorBlur(){}, // 失去焦点事件
    onEditorFocus(){}, // 获得焦点事件
    onEditorChange(){}, // 内容改变事件
    // 转码
    escapeStringHTML(str) {
      str = str.replace(/</g,'<');
      str = str.replace(/>/g,'>');
      return str;
    }
  },
  computed: {
    editor() {
      return this.$refs.myQuillEditor.quill;
    },
  },
  mounted() {
    let content = ''; // 请求后台返回的内容字符串
    this.str = this.escapeStringHTML(content);
  }
}
</script>

 以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
Javascript 继承实现例子
Aug 12 Javascript
容易被忽略的JS脚本特性
Sep 13 Javascript
jquery改变tr背景色的示例代码
Dec 28 Javascript
node.js中的path.extname方法使用说明
Dec 09 Javascript
javascript实现动态表头及表列的展现方法
Jul 14 Javascript
JSON 对象未定义错误的解决方法
Sep 29 Javascript
jquery将标签元素的高设为屏幕的百分比
Apr 19 jQuery
form表单数据封装成json格式并提交给服务器的实现方法
Dec 14 Javascript
jquery层次选择器的介绍
Jan 18 jQuery
jquery分页优化操作实例分析
Aug 23 jQuery
nuxt 每个页面head标签内容设置方式
Nov 05 Javascript
Vue常用API、高级API的相关总结
Feb 02 Vue.js
vue+axios实现文件下载及vue中使用axios的实例
Sep 21 #Javascript
vue-rx的初步使用教程
Sep 21 #Javascript
基于Vue 服务端Cookies删除的问题
Sep 21 #Javascript
Vue中插入HTML代码的方法
Sep 21 #Javascript
node.js调用C++函数的方法示例
Sep 21 #Javascript
Vue中Quill富文本编辑器的使用教程
Sep 21 #Javascript
vue单页应用在页面刷新时保留状态数据的方法
Sep 21 #Javascript
You might like
PHP 危险函数全解析
2009/09/09 PHP
PHPMYADMIN导入数据最大为2M的解决方法
2012/04/23 PHP
解析php函数method_exists()与is_callable()的区别
2013/06/21 PHP
设置php页面编码的两种方法示例介绍
2014/03/03 PHP
jquery学习总结(超级详细)
2014/09/04 Javascript
初始Nodejs
2014/11/08 NodeJs
JavaSciprt中处理字符串之sup()方法的使用教程
2015/06/08 Javascript
果断收藏9个Javascript代码高亮脚本
2016/01/06 Javascript
jQuery UI库中dialog对话框功能使用全解析
2016/04/23 Javascript
Vue数据驱动模拟实现5
2017/01/13 Javascript
JS实现页面打印功能
2017/03/16 Javascript
基于JavaScript实现表格滚动分页
2017/11/22 Javascript
Vue+Flask实现简单的登录验证跳转的示例代码
2018/01/13 Javascript
详解微信小程序实现仿微信聊天界面(各种细节处理)
2019/02/17 Javascript
nodejs二进制与Buffer的介绍与使用
2019/07/11 NodeJs
vue cli4下环境变量和模式示例详解
2020/04/09 Javascript
详解Vue3 Composition API中的提取和重用逻辑
2020/04/29 Javascript
element-ui点击查看大图的方法示例
2020/12/14 Javascript
玩转python爬虫之cookie使用方法
2016/02/17 Python
详解Python文本操作相关模块
2017/06/22 Python
python实现切割url得到域名、协议、主机名等各个字段的例子
2019/07/25 Python
python读取指定字节长度的文本方法
2019/08/27 Python
python字符串,元组,列表,字典互转代码实例详解
2020/02/14 Python
python实现xlwt xlrd 指定条件给excel行添加颜色
2020/07/14 Python
Django中template for如何使用方法
2021/01/31 Python
菲律宾购物网站:Lazada菲律宾
2018/04/05 全球购物
关键字throw与throws的用法差异
2016/11/22 面试题
班主任工作年限证明
2014/01/12 职场文书
《故都的秋》教学反思
2014/04/15 职场文书
公司委托书怎么写
2014/08/02 职场文书
关于安全的广播稿
2014/10/23 职场文书
小学五年级语文上册教学计划
2015/01/22 职场文书
试用期旷工辞退通知书
2015/04/17 职场文书
2015年检验员工作总结范文
2015/04/30 职场文书
解决numpy和torch数据类型转化的问题
2021/05/23 Python
Python+Selenium实现读取网易邮箱验证码
2022/03/13 Python