vue 使用tinymce富文本编辑器

1.安装对应的插件
npm install @tinymce/tinymce-vue -S
npm install tinymce -S
2.下载工具栏对应的 中文语言包

在这里插入图片描述

3.在node_modules 中找到刚刚安装的tinymce这个文件夹,将skins文件夹拷贝到static或者新版的public中,并且将下载好的中文语言包放在static或者新版的public中

我这边是static

4.引用
<template>
  <div>
    <!--
    给editor加key是因为给tinymce keep-alive以后组件切换时tinymce编辑器会显示异常,
    在activated钩子里改变key的值可以让编辑器重新创建
  -->
    <editor id="tinymceEditor"
            :init="tinymceInit"
            v-model="content"
            :key="tinymceFlag"></editor>
    <!-- <Upload
      multiple
      ref="imageUpload"
      action="//jsonplaceholder.typicode.com/posts/"
      :on-success="insertImage"
      style="display:none">
  </Upload> -->
  </div>
</template>
<script>
import tinymce from 'tinymce/tinymce'
import 'tinymce/themes/silver/theme' //如果没有silver文件,那就是modern文件下的theme
import Editor from '@tinymce/tinymce-vue'
//一下这些是你所需要的组件
import 'tinymce/plugins/textcolor'
import 'tinymce/plugins/advlist'
import 'tinymce/plugins/table'
import 'tinymce/plugins/lists'
import 'tinymce/plugins/paste'
import 'tinymce/plugins/preview'
import 'tinymce/plugins/fullscreen'

export default {
  name: 'TinymceEditor',
  components: {
    'editor': Editor
  },
  data () {
    return {
      content: "",
      tinymceFlag: 1,
      tinymceInit: {},
    }
  },
  methods: {
    // 插入图片至编辑器
    // insertImage (res, file) {
    //   let src = '' // 图片存储地址
    //   tinymce.execCommand('mceInsertContent', false, `<img src=${src}>`)
    // },
    setContent (content) {//设置内容
      this.content = content;
    },
    getContent () {//获取内容
      return this.content;
    },
  },
  created () {
    const that = this
    this.tinymceInit = {
      skin_url: '/static/tinymce/skins/ui/oxide',
      language_url: `/static/tinymce/zh_CN.js`,
      language: 'zh_CN',
      height: document.body.offsetHeight - 300,
      browser_spellcheck: true, // 拼写检查
      branding: false, // 去水印
      // elementpath: false,  //禁用编辑器底部的状态栏
      statusbar: false, // 隐藏编辑器底部的状态栏
      paste_data_images: true, // 允许粘贴图像
      menubar: false, // 隐藏最上方menu
      plugins: 'advlist table lists paste preview fullscreen',//组件的引用
      toolbar: 'fontselect fontsizeselect forecolor backcolor bold italic underline strikethrough | alignleft aligncenter alignright alignjustify | imageUpload quicklink h2 h3 blockquote table numlist bullist preview fullscreen',//toolbar不多解释,可根据自己需要添加,
      /**
       * 下面方法是为tinymce添加自定义插入图片按钮
       * 借助iview的Upload组件,将图片先上传到存储云上,再将图片的存储地址放入编辑器内容
       */
      // setup: (editor) => {
      //   editor.ui.registry.addButton('imageUpload', {
      //     // text: '插入图片',
      //     tooltip: '插入图片',
      //     icon: 'image',
      //     onAction: () => {
      //       let upload = that.$refs.imageUpload
      //       upload.handleClick()
      //     }
      //   })
      // }
    }
  },
  activated () {
    this.tinymceFlag++
  },
}
</script>
<style> //自己设置的一些样式,非官方
.tox-silver-sink {
  z-index: 5000 !important;
}
.tox-toolbar__group {
  border: none !important;
}
.tox-tinymce {
  height: 588px !important;
  border: none !important;
}
.tox-edit-area {
  border: none !important;
}
.tox-toolbar {
  background-color: #c5d7ec !important;
}
</style>

官方地址
在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Vue2 Tinymce文本编辑器是一种用于在Vue2项目中实现文本编辑功能的插件。您可以按照以下步骤进行安装和使用: 1. 首先,您需要安装依赖。可以通过在终端中运行以下命令来安装依赖: ``` npm install tinymce ``` 2. 接下来,您需要将tinymce的skins文件夹复制到您的项目中。您可以在node_modules/tinymce目录下找到skins文件夹,并将其复制到您的src/assets/tinymce目录下。 3. 然后,您可以创建一个Tinymce.vue组件来封装Tinymce编辑器。可以根据您的需求进行自定义配置,***并将其放置在您的项目中。 5. 在Vue组件中使用Tinymce编辑器时,您可以直接导入Tinymce组件并在template中使用它。您可以根据需要通过props传递参数给Tinymce组件。 6. 最后,在整体的目录结构中,您需要确保Tinymce相关的文件和依赖正确地放置在对应的位置。 在使用Vue2 Tinymce文本编辑器的过程中,您可能会遇到一些问题,比如路径找不到导致无法引入“tinymce/icons/default”的问题。这时,您可以尝试升级tinymce的版本来解决这个问题。 希望以上信息对您有所帮助!<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [【vuevue2 中使用 Tinymce 文本编辑器](https://blog.csdn.net/qq_46123200/article/details/130099360)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值