tinymce vue富文本编辑器

2021-11-18  本文已影响0人  7级先生

简介

最近在项目中使用一款非常实用,功能齐全的富文本编辑器----Tinymce Editor

文档参考-- 英文文档 中文文档 效果如图以下

tinymceDemo.png

安装

目前只安装tinymce 4.x 环境 最新版网上文献太少了 4.x 版本我认为足够用了

cnpm install @tinymce/tinymce-vue@3.2.2 -D

cnpm install tinymce@4.5.10 -D

接下来在 static 文件目录下 创建tinymce文件夹

注意 vue-cli 2.x 版本 在static 目录里面 以上更高的版本放在public

tinymce_src.png

下载tinymce完成后在node_modules中找到tinymce目录将目录中skins和plugins文件夹复制至我们新建的tinymce文件夹中,使用编辑器的主题样式及扩展插件,后续有需要使用到拓展插件和主题都可以下引入,文档中有提供更多实用的的插件可供 参考地址

接着下载中文汉化包 链接 官方提供许多中汉化包,中文文档下载地址

也就是上面图中 zh_CN.js

页面组件的使用-创建一个组件

封装了 tinymce 进行使用

props: {
    // 选择器
    selector: {
      default: '#tincmce',
      required: true
    },
    // 编辑放的内容
    content: {
      default: ''
    },
    // 配置项
    setConfig: {
      default: () => {
        return {}
      },
      type: Object
    },
    // 禁止使用
    disabled: {
      default: false,
      type: Boolean
    },
    // 上传文件配置
    uploadConfig: {
      default: () => {
        return {
          type: ['jpg', 'jpeg', 'png', 'gif', 'webp'],
          limitsize: 10 * 10 * 10 * 1024,
          data: {
            uploadSource: 'CRM'
          },
          url: 'xxxxxx'
        }
      },
      type: Object
    },
    // 动态加载文件
    dynamicCofig: {
      default: () => {
        return []
      },
      type: Array
    }
  }

父组件使用

引入组件

import MyTincmce from '@/components/MyTincmce'

data 返回对象

data () {
    return {
       content:'',
       checkDisabled: false 
    }
}

method 的方法

// 图片上传的方法
handleUploading (success, failure, res) {
    const { code, result, msg } = res.data
    if (code === '0') {
        success(result[0].filePath)
    } else {
        failure(msg)
    }
},
handleContent (val) {
    this.ruleForm.content = val
},

template 模板内容

 <MyTincmce
    :disabled="checkDisabled"
    selector="tincmce1"
    :content="content"
    @content="handleContent"
    @uploading="handleUploading"
></MyTincmce>
上一篇 下一篇

猜你喜欢

热点阅读