Important: This documentation covers Yarn 1 (Classic).
For Yarn 2+ docs and migration guide, see yarnpkg.com.

Package detail

vue-quill-editor-next

awamwang34MIT2.0.1

Quill editor component for Vue

vue-quill-editor-next, vue quill, vue text editor, vue rich text editor, vue web editor, vue editor

readme

GitHub stars Build Status GitHub issues GitHub forks GitHub last commit license

NPM

只是让该插件能运行2.0的quill,不会有过多维护,慎用

vue-quill-editor-next

Quill editor component for Vue. Use quill 2.0.

基于 Quill、适用于 Vue 的富文本编辑器,支持服务端渲染和单页应用。

Example

Install

NPM

npm install vue-quill-editor-next --save

# or
yarn add vue-quill-editor-next

CDN

<link rel="stylesheet" href="path/to/quill.core.css"/>
<link rel="stylesheet" href="path/to/quill.snow.css"/>
<link rel="stylesheet" href="path/to/quill.bubble.css"/>
<script type="text/javascript" src="path/to/quill.js"></script>
<script type="text/javascript" src="path/to/vue.min.js"></script>
<script type="text/javascript" src="path/to/dist/vue-quill-editor-next.js"></script>
<script type="text/javascript">
  Vue.use(window.VueQuillEditor)
</script>

Mount

Mount with global

import Vue from 'vue'
import VueQuillEditor from 'vue-quill-editor-next'

import 'quill/dist/quill.core.css' // import styles
import 'quill/dist/quill.snow.css' // for snow theme
import 'quill/dist/quill.bubble.css' // for bubble theme

Vue.use(VueQuillEditor, /* { default global options } */)

Mount with local component

import 'quill/dist/quill.core.css'
import 'quill/dist/quill.snow.css'
import 'quill/dist/quill.bubble.css'

import { quillEditor } from 'vue-quill-editor-next'

export default {
  components: {
    quillEditor
  }
}

Mount with SSR

View Nuxt.js example code.

Register Quill module

import Quill from 'quill'
import yourQuillModule from '../yourModulePath/yourQuillModule.js'
Quill.register('modules/yourQuillModule', yourQuillModule)

// Vue app...

Component

<template>
  <!-- Two-way Data-Binding -->
  <quill-editor
    ref="myQuillEditor"
    v-model="content"
    :options="editorOption"
    @blur="onEditorBlur($event)"
    @focus="onEditorFocus($event)"
    @ready="onEditorReady($event)"
  />

  <!-- Or manually control the data synchronization -->
  <quill-editor
    :content="content"
    :options="editorOption"
    @change="onEditorChange($event)"
  />
</template>

<script>
  // You can also register Quill modules in the component
  import Quill from 'quill'
  import someModule from '../yourModulePath/someQuillModule.js'
  Quill.register('modules/someModule', someModule)

  export default {
    data () {
      return {
        content: '<h2>I am Example</h2>',
        editorOption: {
          // Some Quill options...
        }
      }
    },
    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>

Projects using vue-quill-editor-next

Issues

Quill Modules

Quill

Quill API document

changelog

CHANGELOG

v3.0.6

PR194, Prevents auto-focus when using within components with dynamically set content.

v3.0.5

update umd module name and rebuild

v3.0.4

  1. fix object assign in spa

v3.0.3

  1. fix import es module bug
  2. add test script

v3.0.2

  1. assign options to ssr.js

v3.0.1

  1. add lib object-assign
  2. update the options assign logic

v3.0.0

use

  1. require styles #111
  2. add global default options #110
  3. update { editor, text, html } to { quill, text, html }

project

  • add brower support
  • add test scripts
  • update babel and webpack configs