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 相关文章推荐
jquery实现excel导出的方法
Apr 04 Javascript
将json当数据库一样操作的javascript lib
Oct 28 Javascript
js实现正方形颜色从下往上升的效果
Aug 04 Javascript
jquery加载图片时以淡入方式显示的方法
Jan 14 Javascript
jquery中EasyUI使用技巧小结
Feb 10 Javascript
Bootstrap中的表单验证插件bootstrapValidator使用方法整理(推荐)
Jun 21 Javascript
ligerUI---ListBox(列表框可移动的实例)
Nov 28 Javascript
vue+webpack 打包文件 404 页面空白的解决方法
Feb 28 Javascript
vue中$nextTick的用法讲解
Jan 17 Javascript
基于vue实现web端超大数据量表格的卡顿解决
Apr 02 Javascript
vue中v-show和v-if的异同及v-show用法
Jun 06 Javascript
Vue中点击active并第一个默认选中功能的实现
Feb 24 Javascript
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
第六节 访问属性和方法 [6]
2006/10/09 PHP
php 文件上传代码(限制jpg文件)
2010/01/05 PHP
php 中文和编码判断代码
2010/05/16 PHP
PHP数据集构建JSON格式及新数组的方法
2012/11/07 PHP
PHP合并数组+号和array_merge的区别
2015/06/25 PHP
PHP会员找回密码功能的简单实现
2016/09/05 PHP
PHP中phar包的使用教程
2017/06/14 PHP
ThinkPHP5.1框架页面跳转及修改跳转页面模版示例
2019/05/06 PHP
window.location.hash 属性使用说明
2010/03/20 Javascript
jquery下动态显示jqGrid以及jqGrid的属性设置容易出现问题的解决方法
2010/10/22 Javascript
jquery ui dialog实现弹窗特效的思路及代码
2013/08/03 Javascript
对frameset、frame、iframe的js操作示例代码
2013/08/16 Javascript
浅析函数声明和函数表达式——函数声明的声明提前
2016/05/03 Javascript
jQuery实现元素的插入
2017/02/27 Javascript
基于Vue2.0的分页组件
2017/03/16 Javascript
Node.js使用orm2进行update操作时关联字段无法修改的解决方法
2017/06/13 Javascript
基于jquery日历价格、库存等设置插件
2020/07/05 jQuery
基于JS代码实现简单易用的倒计时 x 天 x 时 x 分 x 秒效果
2017/07/13 Javascript
JavaScript简单实现合并两个Json对象的方法示例
2017/10/16 Javascript
详解js静态检查工具eslint配置文件
2018/11/23 Javascript
vue+vant实现购物车全选和反选功能
2020/11/17 Vue.js
[01:10]DOTA2 Supermajor:英雄,由我们见证
2018/05/14 DOTA
python每隔N秒运行指定函数的方法
2015/03/16 Python
Pycharm编辑器技巧之自动导入模块详解
2017/07/18 Python
对pycharm 修改程序运行所需内存详解
2018/12/03 Python
python函数声明和调用定义及原理详解
2019/12/02 Python
python如何爬取网页中的文字
2020/07/28 Python
Python 爬虫性能相关总结
2020/08/03 Python
Lookfantastic俄罗斯:欧洲在线化妆品零售商
2019/08/06 全球购物
电影T恤、80年代T恤和80年代服装:TV Store Online
2020/01/05 全球购物
《小石潭记》教学反思
2014/02/13 职场文书
文明礼貌演讲稿
2014/05/12 职场文书
学校爱国卫生月活动总结
2014/06/25 职场文书
nginx处理http请求实现过程解析
2021/03/31 Servers
mysql主从复制的实现步骤
2021/10/24 MySQL
Zabbix对Kafka topic积压数据监控的问题(bug优化)
2022/07/07 Servers