vue tinymce富文本插件引入

vue tinymce富文本插件引入

vue版本 2.6

tinymce版本 4.9.10

1.安装tinymce

根据官网的安装教程

  • For Vue.js 3.x users:

    $ npm install --save "@tinymce/tinymce-vue@^4"
    
  • For Vue.js 2.x users:

    $ npm install --save "@tinymce/tinymce-vue@^3"
    

由于我是vue2版本所以使用npm install --save "@tinymce/tinymce-vue@^3"

然后再运行以下命令,安装tinymce-vue@4.9.10

npm install @tinymce/tinymce-vue@4.9.10 -S

2.配置tinymce

  1. public\static目录下新建一个tinymce目录

  2. \node_modules\tinymce下的skins目录复制到public\static\tinymce

    image-20210728171415359

  3. 从官网下载语言包

    image-20210728171903937

  4. 点击下载,可以得到一个压缩文件,把里面的zh_CN.js复制到public\static\tinymce

  5. components目录下新建一个tinymce文件夹,创建一个index.vue文件

<template>
  <div class="tinymce">
    <editor id="tinymce" v-model="tinymceHtml" :init="init" />
  </div>
</template>

<script>
import tinymce from 'tinymce/tinymce'
import 'tinymce/themes/modern/theme'
import Editor from '@tinymce/tinymce-vue'
import 'tinymce/plugins/image'
import 'tinymce/plugins/link'
import 'tinymce/plugins/code'
import 'tinymce/plugins/table'
import 'tinymce/plugins/lists'
import 'tinymce/plugins/contextmenu'
import 'tinymce/plugins/wordcount'
import 'tinymce/plugins/colorpicker'
import 'tinymce/plugins/textcolor'
import 'tinymce/plugins/print'
import 'tinymce/plugins/autoresize'
export default {
  name: 'Tinymce',
  components: { Editor },
  props: {
    value: {
      type: String,
      default: ''
    }},
  data() {
    return {
      tinymceHtml: this.value,
      init: {
        language_url: './static/tinymce/zh_CN.js', // 引入语言包路径 重要!!
        language: 'zh_CN',
        skin_url: './static/tinymce/skins/lightgray', // 引入皮肤路径 重要!!
        height: 435, // 设置高度 其实可以设置成props传值的,我这边只需要用到一次,所以给了固定高度
        autoresize_bottom_margin: 10,
        autoresize_max_height: 435, // 编辑区域的最大高
        autoresize_min_height: 435, // 编辑区域的最小高度
        autoresize_on_init: true,
        autoresize_overflow_padding: 10,
        end_container_on_empty_block: true,
        // 插件列表可自定义
        plugins: 'print link lists image code table colorpicker textcolor wordcount contextmenu',
        // 工具栏列表
        toolbar:
          'bold italic underline strikethrough | fontsizeselect | forecolor backcolor | bullist numlist | alignleft aligncenter alignright alignjustify | outdent indent blockquote | undo redo |  code removeformat print',
        branding: false // 隐藏水印
      }
    }
  },
  watch: {
    value(newValue) {
      this.tinymceHtml = newValue
    },
    myValue(newValue) {
      this.$emit('input', newValue)
    }
  },
  mounted() {
    tinymce.init({})
  }

}
</script>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值