基于webpack和vue
一露戒、npm 安裝 vue-quill-editor
二描验、在main.js中引入
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)
三白嘁、在模塊中引用
<template>
<quill-editor
v-model="content"
ref="myQuillEditor"
:options="editorOption"
@blur="onEditorBlur($event)" @focus="onEditorFocus($event)"
@change="onEditorChange($event)">
</quill-editor>
</template>
<script>
import { quillEditor } from 'vue-quill-editor'
export default{
data(){
return {
content:null,
editorOption:{}
}
},
methods:{
onEditorBlur(){//失去焦點(diǎn)事件
},
onEditorFocus(){//獲得焦點(diǎn)事件
},
onEditorChange(){//內(nèi)容改變事件
}
}
}
</script>
這樣引入后你會得到這樣一個編輯器
那么你如果不需要那么多的工具欄功能要怎么辦呢;應(yīng)該是通過options來修改但是他的默認(rèn)值是什么的
我在百度找了一圈也沒找到方法
最后在https://quilljs.com/docs/themes/這個官方文檔里面看到了類似的方法
初始值的設(shè)置應(yīng)該是一樣的吧
所以我就照著toolbar部分去修改了options,把上面的script部分修改如下:
<script>
import { quillEditor } from 'vue-quill-editor'
export default{
data(){
return {
content:null,
editorOption:{
modules:{
toolbar:[
['bold', 'italic', 'underline', 'strike'], // toggled buttons
['blockquote', 'code-block']
]
}
}
}
},
methods:{
onEditorBlur(){//失去焦點(diǎn)事件
},
onEditorFocus(){//獲得焦點(diǎn)事件
},
onEditorChange(){//內(nèi)容改變事件
}
}
}
</script>
果然 生效了 只顯示了我寫在toolbar里面的模塊
那么toolbar工具欄對應(yīng)功能的模塊名是什么呢 我繼續(xù)往下看文檔 發(fā)現(xiàn)大致上有以下的功能
背景顏色 - background
加粗- bold
顏色 - color
字體 - font
內(nèi)聯(lián)代碼 - code
斜體 - italic
鏈接 - link
大小 - size
刪除線 - strike
上標(biāo)/下標(biāo) - script
下劃線 - underline
引用- blockquote
標(biāo)題 - header
縮進(jìn) - indent
列表 - list
文本對齊 - align
文本方向 - direction
代碼塊 - code-block
公式 - formula
圖片 - image
視頻 - video
清除字體樣式- clean
然而我試著直接引入發(fā)現(xiàn)有部分的圖標(biāo)并沒有顯示膘流;
然后我發(fā)現(xiàn)他有些如list這種列表應(yīng)該是有默認(rèn)值絮缅,我在很后面的文檔里發(fā)現(xiàn)了這個默認(rèn)格式規(guī)范 這個官方文檔也是個坑 內(nèi)容不寫到一塊的 還好我聰明機(jī)智鲁沥;
大致上分為這幾類:
1.只需要填寫功能名的
加粗 - bold;
斜體 - italic
下劃線 - underline
刪除線 - strike
引用- blockquote
代碼塊 - code-block
公式 - formula
圖片 - image
視頻 - video
清除字體樣式- clean
這一類的引用 直接['name','name']這種格式就好了
2.需要有默認(rèn)值的
標(biāo)題 - header
[{ 'header': 1 }, { 'header': 2 }] 值字體大小
列表 - list
[{ 'list': 'ordered'}, { 'list': 'bullet' }], 值ordered耕魄,bullet
上標(biāo)/下標(biāo) - script
[{ 'script': 'sub'}, { 'script': 'super' }], 值sub画恰,super
縮進(jìn) - indent
[{ 'indent': '-1'}, { 'indent': '+1' }], 值-1,+1等
文本方向 - direction
[{ 'direction': 'rtl' }], 值rtl
這部分如圖所示會填寫的內(nèi)容對應(yīng)提供的值展示功能的圖標(biāo) 如果多個值他家就顯示多個圖標(biāo)
3.有多個值 以下拉列表形式顯示
大小 - size
[{ 'size': ['small', false, 'large', 'huge'] }],
標(biāo)題 - header
[{ 'header': [1, 2, 3, 4, 5, 6, false] }],
這部分顯示如圖所示 以下拉列形式顯示
4.有系統(tǒng)默認(rèn)值的功能只需填寫一個空數(shù)組 就會有出現(xiàn)默認(rèn)的選項(xiàng)
顏色 - color
背景顏色 - background
字體 - font
文本對齊 - align
他們的格式都是
[{ 'color': [] }, { 'background': [] }],
[{ 'font': [] }],
[{ 'align': [] }]
這種格式
效果如下 會有默認(rèn)值出現(xiàn)
toolbar自定義工具欄就是這樣咯 剩下的就是根據(jù)填寫功能到options的modules里就可以了