# vue3-tinymce_v6
**Repository Path**: djunxp/vue3-tinymce_v6
## Basic Information
- **Project Name**: vue3-tinymce_v6
- **Description**: tinymce editor Components built on Vue3 and Vite
- **Primary Language**: Unknown
- **License**: MIT
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 6
- **Created**: 2022-09-28
- **Last Updated**: 2022-09-28
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# 使用指南
`vue3-tinymce` v2.x 版本是基于 `vue@3.x` + `tinymce@6.1.2` 封装的富文本编辑器。
[](https://gitee.com/jsdawn/vue3-tinymce)
[](https://www.npmjs.com/package/@jsdawn/vue3-tinymce)
[](https://www.tiny.cloud/docs/tinymce/6/)
## 为什么
在开发管理台项目的时候有富文本编辑的功能需求,封装为组件方便使用。
个人开发一套完美的富文本编辑器难度大且耗时,在挑选插件中发现 tinymce editor 背景和功能都非常强大,并且文档清晰。基于 `tinymce` 封装组件是一个非常好的选择。
该组件清晰易懂,可自行修改为 vue2 版本使用。期待你的 Star ,发现问题可以提到 issues 👏
## 组件特色
### 开箱即用
组件内置按需加载 `tinymce@6.1.2` 版本 cdn 资源,无需另外引入。使用 `v-if` 在必要时渲染组件。
属性 `script-src` 可自定义 tinymce 静态资源。支持绝对路径和网络地址。
### 拓展图片上传
本组件拓展了 `插入图片` 的图片上传部分,重写 `setting.images_upload_handler`,上传成功回填编辑器插入图片数据,关联 toolbar 和 plugins 中的 `image`。
```js
{
// 开启组件拓展的 上传图片功能,工具栏 图片按钮 弹框中出现 `upload` 选项
custom_images_upload: true,
// 复用 图片上传 api 地址
images_upload_url: 'your_upload_api_url...',
// 上传成功回调函数,return 图片地址。默认 response.location
custom_images_upload_callback: response => response.url,
// 上传 api 请求头
custom_images_upload_header: { 'X-Token': 'xxxx' }
// 上传 api 额外的参数。图片默认 file
custom_images_upload_param: { id: 'xxxx01', age: 18 }
}
```
## 快速上手
### 获取组件
前往 [Vue3Tinymce 仓库](https://gitee.com/jsdawn/vue3-tinymce.git) 获取 `packages/Vue3Tinymce` 组件文件,Copy 到自己项目中使用。setting 选项配置参照 [tinymce 官方文档](https://www.tiny.cloud/docs/tinymce/6/)
这里也提供 NPM 引入:`npm install @jsdawn/vue3-tinymce`,然后在 vue 中引入
```js
import Vue3Tinymce from '@jsdawn/vue3-tinymce';
```
### 在 vue 中使用
```vue
```
## 组件属性
| 名称 | 类型 | 描述 |
| ------------ | ---------- | ------------------------------------------------------------------------------------------------ |
| `modelValue` | `String` | 绑定值/内容,建议以 `v-model` 的形式使用 |
| `script-src` | `String` | 自定义 `tinymce` 静态资源,支持绝对路径和网络地址。内置按需加载 `tinymce@6.1.2` |
| `setting` | `Object` | 设置项,延用官方 [tinymce 设置](https://www.tiny.cloud/docs/tinymce/6/editor-important-options/) |
| `setup` | `Function` | 编辑器设置时的回调,回调参数 editor 实例,在此将编辑器事件添加到 TinyMCE 中 |
| `disabled` | `Boolean` | 是否禁用编辑器输入操作 |
| `@change` | `Function` | 编辑器监听到 `change input undo redo` 时触发,回调参数为编辑器 content |
| `@init` | `Function` | 编辑器初始化完成后触发,回调参数 `editor` 实例 |
## 使用示例
点击前往 [使用示例](https://jsdawn.gitee.io/note/guide/vue3-tinymce.html)
## 更新日志
### v1.1.7
_`2020-01-19`_
_Feature_
- 拓展图片上传:自定义图片上传请求头 `setting.custom_images_upload_header` [#I4OZKC](https://gitee.com/jsdawn/vue3-tinymce/issues/I4OZKC)
### v2.0.2
_`2022-09-23`_
_Feature_
- 升级 `tinymce` 版本,从 v5.8.x 版本升级到 `v6.1.2`。新增 `tinymce@6.1.2` 静态资源包,位置在 `dist/tinymce` 目录