vue2封装quill
时间: 2023-08-27 21:07:13 浏览: 246
vue3-quill:vue3的笔管编辑器
5星 · 资源好评率100%
Vue2 封装 Quill 可以让我们在 Vue2 项目中更方便地使用 Quill 富文本编辑器。
以下是一个简单的 Vue2 + Quill 的组件封装示例:
1. 安装 Quill
```
npm install quill --save
```
2. 创建 QuillEditor.vue 组件
```vue
<template>
<div ref="editor"></div>
</template>
<script>
import Quill from 'quill'
export default {
name: 'QuillEditor',
props: {
value: String, // 绑定的值
options: Object // Quill 配置项
},
mounted () {
this.initEditor()
},
methods: {
initEditor () {
const options = this.options || {
modules: {
toolbar: [
['bold', 'italic', 'underline', 'strike'], // 加粗、斜体、下划线、删除线
[{ 'header': 1 }, { 'header': 2 }], // 标题,键值对的形式;1、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'] // 清除文本格式
]
},
placeholder: '请输入内容',
theme: 'snow' // 主题
}
this.editor = new Quill(this.$refs.editor, options)
this.editor.on('text-change', this.handleTextChange)
this.editor.root.innerHTML = this.value
},
handleTextChange () {
this.$emit('input', this.editor.root.innerHTML)
}
},
beforeDestroy () {
this.editor.off('text-change', this.handleTextChange)
this.editor = null
}
}
</script>
```
3. 在父组件中使用
```vue
<template>
<div>
<quill-editor v-model="content"></quill-editor>
</div>
</template>
<script>
import QuillEditor from './components/QuillEditor.vue'
export default {
components: {
QuillEditor
},
data () {
return {
content: ''
}
}
}
</script>
```
在这个示例中,我们使用了 `QuillEditor.vue` 组件来封装 Quill 富文本编辑器,并且使用了 `v-model` 来实现数据的双向绑定。同时,我们也可以通过 `options` 属性来传递 Quill 的配置项,以达到个性化定制的目的。
阅读全文