Appearance
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>
full 工具栏
图片上传契约
自定义工具栏
toolbar 传数组即 Quill 原生配置:法务场景收窄排版能力,保证条款版式统一。
编辑回显与 XSS 提醒
安全提醒:富文本入库前 / 回显(v-html)前,请业务侧使用 DOMPurify 等做 XSS 消毒,组件不代为信任内容
外部控制(expose)
Props
| 属性名 | 类型 | 默认值 | 说明 |
|---|---|---|---|
| model-value / v-model | string | '' | HTML 内容 |
| placeholder | string | '请输入内容...' | 占位提示 |
| height | number | 280 | 编辑区高度(px) |
| toolbar | 'basic' | 'full' | 配置数组 | 'basic' | 工具栏预设或 Quill 原生配置 |
| image-upload | (file: File) => Promise<string> | — | 图片上传实现(返回 URL);不配置走 base64 内联 |
| disabled | boolean | false | 只读 |
| show-error | boolean | false | 外部校验错误标红边框 |
Events
| 事件名 | 参数 | 说明 |
|---|---|---|
| update:model-value | (value: string) | 内容更新(空内容返回空串) |
| change | (payload: { html: string; text: string }) | 内容变化携带纯文本 |
Expose
| 名称 | 类型 | 说明 |
|---|---|---|
| getQuill | () => Quill | null | 获取 Quill 实例(高级定制) |
| getText | () => string | 纯文本内容 |
| focus | () => void | 聚焦 |
| clear | () => void | 清空内容 |