tinymce

安装tinymce

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

由于这样安装会安装最新版本的tinymce ,
由于我使用的是vue2 与最新的版本部分功能可能不兼容 所以我安装的版本是

npm install tinymce@5.1.0 -S
npm install @tinymce/tinymce-vue@3.0.1 -S

封装tinymce组件

<template>
  <div>
    <editor id="tinymce" v-bind="$attrs" :init="init" v-on="$listeners" />
  </div>
</template>

<script>
import Editor from '@tinymce/tinymce-vue'

export default {
  name: 'TinyEditor',
  components: {
    editor: Editor
  },
  props: {
    linkList: Array // link_list数据源
  },
  data() {
    return {
      init: {
        selector: '#tinymce',
        height: 300, //编辑器高度
        menubar: true, //顶部菜单栏显示
        language_url: 'static/tinymce/langs/zh-Hans.js', // 中文包的存放路径 可以去下载好中文包 存放在项目目录下引入https://www.tiny.cloud/
        language: 'zh-Hans',
        branding: false, //是否禁用“Powered by TinyMCE”
        statusbar: true, //是否显示底部的状态栏
        plugins: 'link image media table lists fullscreen quickbars',
        toolbar:
          'undo redo | fullscreen | fontselect fontsizeselect | bold italic underline strikethrough  link | formatselect alignleft aligncenter alignright alignjustify | bullist | image media table | forecolor backcolor | indent outdent | superscript subscript | removeformat |',
        link_context_toolbar: false, // link链接的右键增强菜单
        link_list: success => {
          let newlinkList = this.linkList.map(link => {
            return {
              ...link,
              value: `downloadFile('${link.value}')`
            }
          })
          success(newlinkList) // pass link_list data to {productname}
        }, // link插件 链接列表
        images_upload_handler: this.imagesUploadHandler// 插入图片-支持本地图片上传
      }
    }
  },
  methods: {
    async imagesUploadHandler(blobInfo, success) {
      const base64Url = await blobToBase64(blobInfo.blob())
      success(base64Url)
    }
  }
}
</script>

<style lang="scss">
/* 在el-dialog中使用tinymce 插件的弹窗被遮挡 */
.tox-tinymce-aux {
  z-index: 9999 !important;
}
</style>

调用组件:

<tiny-editor
   ref="editor"
   v-model="content"
   :link-list="linkList"
    >
</tiny-editor>

由于tinymce的官方文档是英文的 我们可以使用莫若卿博主整理的这个中文文档:

http://tinymce.ax-z.cn/
  • 10
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值