前言
以下是在 Vue 项目中安装和配置 Quill 富文本编辑器的步骤:
安装依赖包
1 | npm install vue-quill-editor@3.0.6 --save |
依赖的版本是"quill": "^1.3.4"
目前不建议使用 `quill@2.x`版本,因为很多插件还不支持。
全局注册组件(可选)
打开 src/main.js
文件,添加以下内容:
1 | import Vue from 'vue' |
在组件中使用
1 | <template> |
自定义配置(可选)
如果你需要自定义 Quill 功能,可以创建一个单独的文件来配置:
1 | // src/plugins/quill.js |
然后在 main.js
中引入这个配置文件:
1 | import Vue from 'vue' |
以上就是在 Vue 项目中集成 Quill 富文本编辑器的完整步骤。你可以根据项目需求调整工具栏配置和样式。
自定义组件
InlineQuillEditor.vue
1 | <template> |
插件
图片缩放插件
1 | npm install quill-image-resize-module@3.0.0 -- save |
注意quill-image-drop-module
是图片拖动到编辑器中的功能,不是支持图片的拖拽移动。
添加引用
1 | import { quillEditor, Quill } from "vue-quill-editor"; |
配置
1 | editorOptions: { |
vue.config.js
修改这个文件要重启项目才能生效
1 | const { defineConfig } = require("@vue/cli-service"); |
图片拖拽移动
1 | <template> |
属性白名单
富文本编辑器会把我们的HTML中标签的属性都过滤掉
这里我们想保留img标签的style、width、height等属性
1 | const BlockEmbed = Quill.import("blots/block/embed"); |
配置添加
1 | editorOptions: { |
行高设置插件
添加lineHeight.js
1 | import { Quill } from "vue-quill-editor"; |
引用
1 | import { lineHeightStyle } from "@/components/QuillEditor/lineHeight"; |
添加lineHeight
1 | toolbarOptions: { |
处理
1 | editorOptions: { |
添加样式
1 | /deep/ .ql-snow .ql-picker.ql-lineHeight .ql-picker-label::before { |
下滑线插件
方式1
quill-underline-button.js
1 | import { Quill } from "vue-quill-editor"; |
引用注册
1 | import UnderlineSpaceButton from "./quill-underline-button"; |
添加进toolbar
1 | toolbarOptions: { |
配置插件及事件
1 | editorOptions: { |
这4个都不能少,否则插件不生效
- 通过
Quill.register('modules/underlineSpaceButton', UnderlineSpaceButton)
注册插件 - 在
toolbar
的container
配置中添加'underlineSpace'
按钮 handlers
配置自定义按钮的行为- 在
modules
配置中添加underlineSpaceButton
选项
添加样式
1 | /deep/ .ql-underlineSpace::before { |
方式2
添加进toolbar
1 | toolbarOptions: { |
设置事件
1 | editorOptions: { |
添加样式
1 | /deep/ .ql-underlineSpace::before { |
白名单
1 | // 自定义白名单 |