Skip to content

BizRichEditor 富文本编辑器 ​

基于 Quill 2(活跃维护,MIT)封装:v-model HTML 双向绑定、工具栏预设(basic / full)与自定义配置、图片上传契约(不配置走 base64 内联)、只读态、字数统计。公告、商品详情、协议条款等内容编辑。

需额外安装第三方依赖

本组件依赖 quill(可选 peer,组件库不打包):

bash
npm i quill

并在入口或页面引入主题样式:

ts
import 'quill/dist/quill.snow.css'

组件首次挂载时动态加载 quill 与样式;未安装时组件内显示安装指引。选型说明:原候选 wangEditor 已于 2023-08 停止维护,故采用 Quill。

安全提醒

富文本内容入库 / 回显(v-html)前,请业务侧使用 DOMPurify 等做 XSS 消毒,组件不代为信任内容。

基础用法 ​

v-model 值:<p>请于 <strong>10 月 8 日</strong>前完成国庆值班表确认。</p>

v-model 双向绑定 HTML,basic 工具栏。

full 工具栏 ​

字体 / 颜色 / 对齐 / 引用 / 代码块全量排版。

图片上传契约 ​

image-upload 注入(返回 URL),图片走对象存储而非 base64 内联。

自定义工具栏 ​

toolbar 传数组即 Quill 原生配置:法务场景收窄排版能力,保证条款版式统一。

协议条款场景收窄排版能力(Quill 原生配置数组)。

编辑回显与 XSS 提醒 ​

编辑 / 预览切换,回显前消毒提醒。

外部控制(expose) ​

getText 字数统计 / focus / clear。

Props ​

属性名类型默认值说明
model-value / v-modelstring''HTML 内容
placeholderstring'请输入内容...'占位提示
heightnumber280编辑区高度(px)
toolbar'basic' | 'full' | 配置数组'basic'工具栏预设或 Quill 原生配置
image-upload(file: File) => Promise<string>—图片上传实现(返回 URL);不配置走 base64 内联
disabledbooleanfalse只读
show-errorbooleanfalse外部校验错误标红边框

Events ​

事件名参数说明
update:model-value(value: string)内容更新(空内容返回空串)
change(payload: { html: string; text: string })内容变化携带纯文本

Expose ​

名称类型说明
getQuill() => Quill | null获取 Quill 实例(高级定制)
getText() => string纯文本内容
focus() => void聚焦
clear() => void清空内容