Componente do Editor de Quill para Vue (2).
Infelizmente, como o projeto Quill parou efetivamente de ser mantido, vue-quill-editor será preterido e não apoiará mais o VUE3; Se você está procurando um editor de texto rico, recomendo migrar para a Tipptap , o que é uma alternativa muito melhor.
Se a Quill atualizar v2.0, este projeto provavelmente continuará sendo atualizado também. Encorajo as pessoas a bifurcar este repositório e, se um garfo for popular, vou vincular -se a ele neste Readme.
O projeto de quill paralisado pode ser encontrado nessas questões:
Npm
npm install vue-quill-editor --saveyarn add vue-quill-editorCDN
< 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 >Componente global
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 } */ ) 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
}
}Componente SSR
Consulte o código de exemplo nuxt.js.
import Quill from 'quill'
import yourQuillModule from '../yourModulePath/yourQuillModule.js'
Quill . register ( 'modules/yourQuillModule' , yourQuillModule )
// Vue app...< 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 >Alterações detalhadas para cada liberação estão documentadas nas notas de liberação.
Licenciado sob a licença do MIT.