# RichTextComponent - 富文本编辑器组件 基于 Quill 的 Vue 3 富文本编辑器组件。 ## 安装依赖 首先需要安装 Quill 依赖: ```bash npm install quill # 或 yarn add quill ``` ## 基础使用 ```vue ``` ## Props | 属性 | 类型 | 默认值 | 说明 | |------|------|--------|------| | modelValue | string | '' | 绑定值(HTML格式) | | placeholder | string | '请输入内容...' | 占位文本 | | height | string | '300px' | 编辑器高度 | | disabled | boolean | false | 是否禁用 | | readOnly | boolean | false | 是否只读 | | maxLength | number | 0 | 最大字数限制(0表示无限制) | | showWordCount | boolean | false | 是否显示字数统计 | | error | boolean | false | 是否显示错误状态 | | errorMessage | string | '' | 错误提示文本 | ## Events | 事件名 | 参数 | 说明 | |--------|------|------| | update:modelValue | (value: string) | 内容变化时触发 | | change | (value: string) | 内容变化时触发 | | blur | () | 失去焦点时触发 | | focus | () | 获得焦点时触发 | ## 方法 通过 ref 可以调用以下方法: | 方法名 | 参数 | 返回值 | 说明 | |--------|------|--------|------| | getText | - | string | 获取纯文本内容 | | getHTML | - | string | 获取HTML内容 | | clear | - | void | 清空内容 | | setContent | (content: string) | void | 设置内容 | | focus | - | void | 聚焦编辑器 | | blur | - | void | 失焦编辑器 | ## 使用示例 ### 带字数统计 ```vue ``` ### 只读模式 ```vue ``` ### 禁用状态 ```vue ``` ### 错误状态 ```vue ``` ### 使用 ref 调用方法 ```vue ``` ## 功能特性 ### 富文本功能 - ✅ 标题(H1-H3) - ✅ 字体大小 - ✅ 加粗、斜体、下划线、删除线 - ✅ 文字颜色、背景颜色 - ✅ 有序列表、无序列表 - ✅ 对齐方式(左、中、右、两端对齐) - ✅ 插入链接、图片、视频 - ✅ 代码块、引用 - ✅ 清除格式 ### 其他特性 - ✅ 字数统计 - ✅ 字数限制 - ✅ 只读模式 - ✅ 禁用状态 - ✅ 错误状态显示 - ✅ 自定义高度 - ✅ 响应式设计 ## 样式定制 组件使用了 Quill 的 Snow 主题,并进行了一些定制。如需进一步定制样式,可以通过以下方式: ```scss // 在你的样式文件中 :deep(.ql-editor) { // 定制编辑器内容区域样式 font-family: '你的字体'; font-size: 16px; } :deep(.ql-toolbar) { // 定制工具栏样式 background: #your-color; } ``` ## 注意事项 1. 确保已安装 `quill` 依赖 2. 组件导入了 Quill 的样式文件,无需额外导入 3. v-model 绑定的是 HTML 格式的内容 4. 如需纯文本,使用 `getText()` 方法 5. 图片上传需要配置 Quill 的图片处理器(未来版本会添加)