Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

surmon-china/vue-quill-editor

Repository files navigation

vue-quill-editor

vue GitHub stars GitHub issues npm license

Quill editor component for Vue(2).


DEPRECATED !!️

Unfortunately, since the Quill project has effectively stopped being maintained, vue-quill-editor will be DEPRECATED and will no longer support Vue3; if you're looking for a rich text editor, I recommend migrating to tiptap, which is a much better alternative.

If Quill ever updates v2.0, this project will probably continue to be updated as well. I encourage folks to fork this repository and, if a fork gets popular, I will link to it in this README.

The stalled Quill project can be found in these issues:


Example

Documentation

Install

NPM

npm install vue-quill-editor --save
yarn add vue-quill-editor

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.js"></script>
<script type="text/javascript">
 Vue.use(window.VueQuillEditor)
</script>

Usage

Global component

import Vue from 'vue'
import VueQuillEditor from 'vue-quill-editor'
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 } */)

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'
export default {
 components: {
 quillEditor
 }
}

SSR component

See 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>

Issues

Quill Modules

Changelog

Detailed changes for each release are documented in the release notes.

License

Licensed under the MIT License.

AltStyle によって変換されたページ (->オリジナル) /