vue3 quill
v0.3.0
Vue3的Quill編輯器
vue3 Quill github頁
npm i vue3 - quill // global
import { quillEditor } from 'vue3-quill'
app . use ( quillEditor ) // single file
import { quillEditor } from 'vue3-quill'
export default {
components : {
quillEditor
}
} // global
import { quillEditor , Quill } from 'vue3-quill'
// Attention:
// customQuillModule means 'custom module name of Quill',
// not a package's name called 'customQuillModule'.
// Such as:
// import ImageUploader from "quill.imageUploader.js";
// Quill.register("modules/imageUploader", ImageUploader);
import customQuillModule from 'customQuillModule'
Quill . register ( 'modules/customQuillModule' , customQuillModule )
app . use ( quillEditor ) import { quillEditor , Quill } from 'vue3-quill'
// Attention:
// customQuillModule means 'custom module name of Quill',
// not a package's name called 'customQuillModule'.
// Such as:
// import ImageUploader from "quill.imageUploader.js";
// Quill.register("modules/imageUploader", ImageUploader);
import customQuillModule from 'customQuillModule'
Quill . register ( 'modules/customQuillModule' , customQuillModule )
export default {
components : {
quillEditor
}
}< template >
< quill-editor
v-model:value = " state.content "
:options = " state.editorOption "
:disabled = " state.disabled "
@blur = " onEditorBlur($event) "
@focus = " onEditorFocus($event) "
@ready = " onEditorReady($event) "
@change = " onEditorChange($event) "
/>
</ template >
< script >
import { reactive } from ' vue '
export default {
name : ' App ' ,
setup () {
const state = reactive ({
content : ' <p>2333</p> ' ,
_content : ' ' ,
editorOption : {
placeholder : ' core ' ,
modules : {
// toolbars: [
// custom toolbars options
// will override the default configuration
// ],
// other moudle options here
// otherMoudle: {}
},
// more options
},
disabled : false
})
const onEditorBlur = ( quill ) => {
console . log ( ' editor blur! ' , quill)
}
const onEditorFocus = ( quill ) => {
console . log ( ' editor focus! ' , quill)
}
const onEditorReady = ( quill ) => {
console . log ( ' editor ready! ' , quill)
}
const onEditorChange = ({ quill, html, text }) => {
console . log ( ' editor change! ' , quill, html, text)
state . _content = html
}
setTimeout (() => {
state . disabled = true
}, 2000 )
return { state, onEditorBlur, onEditorFocus, onEditorReady, onEditorChange }
}
}
</ script >V-Model指令可用於創建雙向數據綁定。例如:
< quill-editor v-model : value = " state . content " ></ quill-editor >< quill-editor
v-model : value = " state . content "
@ blur = " onEditorBlur ( $event ) "
@ focus = " onEditorFocus ( $event ) "
@ ready = " onEditorReady ( $event ) "
@ change = " onEditorChange ( $event ) "
/>可用以下事件:
modules: {
toolbar : [ ]
}falsetrue為禁用編輯器。作為初始化時readOnly的價值。價值更改將在初始化後調用Quill的API Quill文檔。modules: {
toolbar : [
[ 'bold' , 'italic' , 'underline' , 'strike' ] ,
[ 'blockquote' , 'code-block' ] ,
[ { header : 1 } , { header : 2 } ] ,
[ { list : 'ordered' } , { list : 'bullet' } ] ,
[ { script : 'sub' } , { script : 'super' } ] ,
[ { indent : '-1' } , { indent : '+1' } ] ,
[ { direction : 'rtl' } ] ,
[ { size : [ 'small' , false , 'large' , 'huge' ] } ] ,
[ { header : [ 1 , 2 , 3 , 4 , 5 , 6 , false ] } ] ,
[ { color : [ ] } , { background : [ ] } ] ,
[ { font : [ ] } ] ,
[ { align : [ ] } ] ,
[ 'clean' ] ,
[ 'link' , 'image' , 'video' ]
]
}借用:vue-Quill-編輯受此啟發。
Quill ImageHandler模塊
...
# root dir
yarn serve感謝開源。 ❤️