Editor 富文本编辑器
基于 Tiptap 的富文本编辑器,支持 Markdown
何时使用
- 需要用户输入富文本内容(加粗、列表、图片等)时。
EditorToolbar、EditorBubbleMenu、EditorDragHandle、EditorSuggestionMenu、EditorMentionMenu 提供工具栏、气泡菜单、拖拽手柄等扩展能力。
导入
基础用法
更多示例
HTML 格式
Markdown 格式
工具栏
气泡菜单
拖拽排序
提及功能
禁用编辑
API
Editor Props
| 参数 | 说明 | 类型 | 默认值 |
|---|---|---|---|
| modelValue (v-model) | 编辑器内容 | Content | - |
| contentType | 内容类型 | json | html | markdown | 自动推断 |
| placeholder | 占位文字 | string | PlaceholderOptions | - |
| starterKit | StarterKit 配置 | Partial<StarterKitOptions> | - |
| markdown | Markdown 配置 | Partial<MarkdownExtensionOptions> | - |
| image | 图片扩展 | boolean | true |
| mention | 提及扩展 | boolean | Partial<MentionOptions> | - |
| disabled | 禁用编辑 | boolean | false |
| dragHandle | 拖拽手柄 | boolean | true |
| bubbleMenu | 气泡菜单 | boolean | EditorToolbarItem[][] | - |
| handlers | 自定义处理器 | EditorCustomHandlers | - |
| class | 附加类名 | string | - |
Editor Slots
| 名称 | 说明 | 作用域参数 |
|---|---|---|
| default | 编辑器内容区域 | { editor, handlers } |
Editor 仅提供 default 插槽,工具栏、气泡菜单、拖拽手柄等需在插槽内使用对应子组件渲染。
子组件插槽
| 组件 | 插槽 | 说明 | 作用域参数 |
|---|---|---|---|
| EditorToolbar | item | 自定义工具栏项 | { item, index, isActive, isDisabled, onClick } |
| EditorBubbleMenu | default | 自定义气泡菜单内容 | { editor } |
| EditorDragHandle | default | 自定义拖拽手柄 | { onClick } |
导出组件
| 组件 | 说明 |
|---|---|
| Editor | 编辑器主组件 |
| EditorToolbar | 工具栏 |
| EditorBubbleMenu | 气泡菜单 |
| EditorDragHandle | 拖拽手柄 |
| EditorSuggestionMenu | 建议菜单 |
| EditorMentionMenu | 提及菜单 |
| EditorEmojiMenu | 表情菜单 |
EditorContentType
| 类型 | 说明 |
|---|---|
json | Tiptap JSON 格式 |
html | HTML 格式 |
markdown | Markdown 格式 |
