美文网首页
基于vue的富文本编辑器Vue-Quill-Editor

基于vue的富文本编辑器Vue-Quill-Editor

作者: 梧桐芊雨 | 来源:发表于2019-11-15 00:04 被阅读0次

因为项目需要,需要添加富文本编辑器,特意查询下,目前网上有很多富文本编辑器,UEditor,vue-quill-editor,wangEditor,vue-html5-editor ,tinymce等,这么多让人有点不知所措。看大家对vue-quill-editor口碑还可以,就特意试试。

vue-quill-editor相关地址:
https://github.com/surmon-china/vue-quill-editor
https://github.surmon.me/vue-quill-editor/
vue-quill-editor个性化配置参考此文档
https://quilljs.com/docs/configuration/

  1. vue-quill-editor安装
npm install vue-quill-editor --save
  1. 导入 vue-quill-editor
    在main.js中将vue-quill-editor 引入项目
import VueQuillEditor from 'vue-quill-editor'

// require styles
import 'quill/dist/quill.core.css'
import 'quill/dist/quill.snow.css'
import 'quill/dist/quill.bubble.css'
Vue.use(VueQuillEditor, /* { default global options } */)
/*default global options 此处是默认的配置,
可以参考此https://quilljs.com/docs/configuration/做个性化配置,
例如换成这个Vue.use(VueQuillEditor, {
  theme: 'bubble' 
});*/

3.使用 vue-quill-editor
在相关组件中使用

<template>
  <div class="shop">shop
      <!-- bidirectional data binding(双向数据绑定) -->
  <quill-editor v-model="content"
                ref="myQuillEditor"
                :options="editorOption"
                @blur="onEditorBlur($event)"
                @focus="onEditorFocus($event)"
                @ready="onEditorReady($event)">
  </quill-editor>

  </div>
</template>

<script>
  import Quill from 'quill'
export default {
  name: 'Shop',
  data () {
    return {
        content: '<h2>I am Example</h2>',
        editorOption: {
          // some quill options
        }
    }
  },
    // manually control the data synchronization
    // 如果需要手动控制数据同步,父组件需要显式地处理changed事件
    methods: {
      onEditorBlur(quill) {
        console.log('editor blur!', quill)
      },
      onEditorFocus(quill) {
        console.log('editor focus!', quill)
      },
      onEditorReady(quill) {
        console.log('editor ready!', quill)
      },
      onEditorChange({ quill, html, text }) {
        console.log('editor change!', quill, html, text)
        this.content = html
      }
    },
    computed: {
      editor() {
        return this.$refs.myQuillEditor.quill
      }
    },
    mounted() {
      console.log('this is current quill instance object', this.editor)
    }
}
</script>
<style scoped>

</style>

运行后,大致效果是这样:


image.png

相关文章

网友评论

      本文标题:基于vue的富文本编辑器Vue-Quill-Editor

      本文链接:https://www.haomeiwen.com/subject/mbndictx.html