首先先给大家看下效果图:
1、下载依赖:
npm i vue-quill-edito -D
2、引入包文件:
<script>
//引入样式依赖
import 'quill/dist/quill.core.css'
import 'quill/dist/quill.snow.css'
import 'quill/dist/quill.bubble.css'
//引入组件
import { quillEditor } from 'vue-quill-editor'
</script>
3、注册组件:
<script>
export default {
components: {
quillEditor
},
}
</script>
4、使用:
<template>
<!-- 富文本展示 -->
<quill-editor>
ref="myQuillEditor"
@change="onEditorChangeHandle" <!-- 内容改变事件 -->
v-model='quillData' <!-- 双向绑定的值,可以拿到富文本的内容,为 html 字符串-->
:options="editorOption" <!-- 富文本相关配置 -->
@blur="onEditorBlurHandle($event)" <!-- 获得焦点事件 -->
@focus="onEditorFocusHandle($event)" <!-- 失去焦点事件 -->
@ready="onEditorReadyHandle($event)"> <!-- 富文本初始化完成事件 -->
</quill-editor>
</template>
5、配置参数以及对应的方法:
<script>
// 富文本工具栏配置
const toolbarOptions = [
["bold", "italic", "underline", "strike"], // 加粗 斜体 下划线 删除线
["blockquote", "code-block"], // 引用 代码块
[{ 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"], // 清除文本格式
["link", "image", "video"] // 链接、图片、视频
];
export default {
data() {
return {
//富文本内容
quillData:'',
//富文本配置
editorOption:{
placeholder: "请输入内容", //同 input 的 placeholder 属性一致
modules:{
toolbar:toolbarOptions //富文本工具栏配置
}
},
},
methods:{
//失去焦点事件
onEditorBlurHandle(){
},
//获得焦点事件
onEditorFocusHandle(){
},
//内容改变事件
onEditorChangeHandle(){
},
//初始化完成事件
onEditorReadyHandle(){
}
}
}
</script>
欢迎指教~~~