vue中使用Tinymce编辑器

  1. 首先安装所需的两个包

    npm install tinymce -S npm --save @tinymce/tinymce-vue
    
  2. 查看vue-cli脚手架版本号

    vue -V
    npm list --depth=0 -g
    根据vue-cli版本号进行以下操作
    
  3. 复制内容和样式包
    ① 在 node_modules 文件夹中找到 tinymce/skins 文件,进行复制;如果vue-cli的版本号为2就将其内容复制到static文件夹中,若版本号为3就将其内容复制到public文件夹中,在下是版本为2的如图所示
    在这里插入图片描述
    在这里插入图片描述
    ② 下载 zh_CN.js中文包,复制到 tinymce文件中 点击下载

  4. 组件内容

    <template>
      <div class="tinymce-editor">
        <editor v-model="myValue"
                :init="init"
                :disabled="disabled"
                @onClick="onClick">
        </editor>
      </div>
    </template>
    <script>
    	import tinymce from 'tinymce/tinymce'
    	import Editor from '@tinymce/tinymce-vue'
    	import 'tinymce/themes/silver'
    	// 编辑器插件plugins
    	// 更多插件参考:https://www.tiny.cloud/docs/plugins/
      	import 'tinymce/plugins/image'// 插入上传图片插件
      	import 'tinymce/plugins/media'// 插入视频插件
      	import 'tinymce/plugins/table'// 插入表格插件
      	import 'tinymce/plugins/lists'// 列表插件
      	import 'tinymce/plugins/wordcount'// 字数统计插件
      	import 'tinymce/plugins/autoresize' // 高度自适应
      	export default {
    	  data () {
    	    	return {
    	      // 初始化tinyEdit
    	      init: {
    	        language_url: '/static/tinymce/zh_CN.js',
    	        language: 'zh_CN',
    	        skin_url: '/static/tinymce/skins/ui/oxide',
    	        selector: 'textarea',
    	        plugins: 'autoresize',
    	        toolbar: 'undo redo |  formatselect | bold italic | alignleft aligncenter alignright alignjustify | bullist numlist outdent indent | lists image media table | removeformat',
    	        branding: false,
    	        menubar: false,
    	        images_upload_handler: (blobInfo, success, failure) => {
    	          const img = 'data:image/jpeg;base64,' + blobInfo.base64()
    	          success(img)
    	        }
    	     }
      	  },
      	  mounted () {
          	tinymce.init({})
          },
          methods: {
          	onClick (e) {
             this.$emit('onClick', e, tinymce)
            }
          },
          watch: {
           value (newValue) {
             this.myValue = newValue
           },
           myValue (newValue) {
             this.$emit('input', newValue)
           }
         }
    	}
    </script>
    
  5. 页面样式
    在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值