vue使用tinymce编辑器

  • 安装
// 注意版本
npm i tinymce@^5.10.7
npm i @tinymce/tinymce-vue@^3.0.1
  • 拷贝node_modules下tinymcce文件夹到你项目的public文件夹下
public 
	tinymce 
		langs
			zh_CN.js (https://www.tiny.cloud/get-tiny/language-packages/)
		skins
			

需要有content.min.css,skin.min.css否则编辑器不会初始化显示,看下图路径,原tinymce中多余文件不需要可以删除

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

// 封装tinymce组件
<template>
  <a-spin :spinning="spinning">
    <tinymce-Editor :id="tinymceId" v-model="myValue" :init="init" />
  </a-spin>
</template>

<script>
import tinymce from 'tinymce/tinymce'
import tinymceEditor from '@tinymce/tinymce-vue'
import 'tinymce/themes/silver/theme'
import 'tinymce/icons/default/icons'
import 'tinymce/plugins/image'
import 'tinymce/plugins/fullscreen'
import 'tinymce/plugins/code'
import 'tinymce/plugins/charmap'
import 'tinymce/plugins/preview'
import 'tinymce/plugins/wordcount'
export default {
  components: {
    tinymceEditor
  },
  props: {
    id: {
      type: String,
      default: ''
    },
    value: {
      type: String,
      default: ''
    },
    disabled: {
      type: Boolean,
      default: false
    },
    plugins: {
      type: [String, Array],
      default: 'print preview searchreplace autolink directionality visualblocks visualchars fullscreen image link media template code codesample table charmap hr pagebreak nonbreaking anchor insertdatetime advlist lists wordcount imagetools textpattern help emoticons autosave bdmap indent2em autoresize formatpainter axupimgs'
    },
    toolbar: {
      type: [String, Array],
      default: 'code undo redo restoredraft'
    }
  },
  data() {
    return {
      spinning: true,
      tinymceId: this.id || 'vue-tinymce' + Date.parse(new Date()),
      myValue: '',
      init: {
        branding: false,
        menubar: false,
        toolbar: 'undo redo | bold italic underline | forecolor | charmap | alignleft aligncenter alignright alignjustify |  image  | indent outdent | code | preview  | fullscreen',
        plugins: 'image fullscreen preview code charmap wordcount',
        language: 'zh_CN',
        height: 350,
        language_url: '/tinymce/langs/zh_CN.js',
        skin_url: '/tinymce/skins/ui/oxide',
        images_upload_handler: (blobInfo, success, failure) => {
          console.log('fail: ', failure)
          const img = `data:image/jpeg;base64,${blobInfo.base64()}`
          console.log(img)
          success(img)
        }
      }
    }
  },
  mounted() {
    tinymce.init({}).then(() => {
      this.spinning = false
    })
  }
}
</script>
<style>
    .tox .tox-button:not(.tox-button--secondary, .tox-button--icon)  {
      background-color: #1890ff!important;
      border-color: #1890ff!important;
      text-shadow: 0 -1px 0 rgb(0 0 0 / 12%);
      box-shadow: 0 2px 0 rgb(0 0 0 / 5%);
    }
</style>

如果图片等插件不能缩放,应该是css文件没有加载进来.
在这里插入图片描述
看下这三个文件有没有被加载进来

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值