vue中使用tinymce富文本编辑器

、安装(vue 2.X)

npm install tinymce -S
npm install @tinymce/tinymce-vue -S
 我安装是下面这两个版本

安装之后,在 node_modules 中找到 tinymce/skins 目录,然后将 skins 目录拷贝到 static 目录下

到官网Language Packages | Trusted Rich Text Editor | TinyMCE下载中文语言包 ,找到对应得tinymce版本。

在刚才创建的static/tinymce文件夹下新建langs文件夹,用来存放下载的中文语言包

2、封装成子组件index.vue

<template>
  <!-- 富文本 -->
  <div style="margin-bottom:10px">
    <editor v-model="content" :init="init" :disabled="disabled"></editor>
  </div>
</template>
 
 
<script>
import tinymce from 'tinymce/tinymce';
import Editor from '@tinymce/tinymce-vue';
import 'tinymce/themes/silver/theme';
import "tinymce/icons/default/icons";
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/charmap';
// 扩展插件
// import "../assets/tinymce/plugins/lineheight/plugin";
// import "../assets/tinymce/plugins/bdmap/plugin";
 
 
export default {
  components: {
    Editor
  },
  props: {
    value: {
      type: String,
      default: ""
    },
    disabled: {
      type: Boolean,
      default: false
    },
    plugins: {
      type: [String, Array],
      default:
        "image media table link code table lists wordcount"
    },
    toolbar: {
      type: [String, Array],
      default:
        " bold italic subscript superscript forecolor fontsizeselect fontselect  alignleft aligncenter alignright alignjustify  bullist numlist outdent indent lists  removeformat table "
    }
  },
  data() {
    return {
      //初始化配置
      init: {
        language_url: "/static/tinymce/langs/zh_CN.js",
        language: "zh_CN",
        skin_url: "/static/tinymce/skins/ui/oxide",
        // content_css: '/static/tinymce/skins/content/document/content.css',//设置编辑器中可编辑区域内的样式
        height: 300,
        min_height: 300,
        max_height: 300,
        object_resizing: false, //禁用表格内联样式拖拽拉伸
        table_resize_bars: false,//禁用表格单元格拖拽拉伸
        menubar: false,//菜单栏
        toolbar_mode: "wrap",
        plugins: this.plugins,
        toolbar: this.toolbar,
        content_style: "p {margin: 10px;}",//内容样式
        fontsize_formats: "12px 14px 16px 18px 24px 36px 48px 56px 72px",
        font_formats: "宋体='宋体';仿宋='仿宋';微软雅黑='微软雅黑';楷体='楷体';;隶书='隶书';幼圆='幼圆';Andale Mono=andale mono,times;Arial=arial,helvetica,sans-serif;Arial Black=arial black,avant garde;Book Antiqua=book antiqua,palatino;Comic Sans MS=comic sans ms,sans-serif;Courier New=courier new,courier;Georgia=georgia,palatino;Helvetica=helvetica;Impact=impact,chicago;Symbol=symbol;Tahoma=tahoma,arial,helvetica,sans-serif;Terminal=terminal,monaco;Times New Roman=times new roman,times;Trebuchet MS=trebuchet ms,geneva;Verdana=verdana,geneva;Webdings=webdings;Wingdings=wingdings",
        branding: false,//不显示富文本支持方
        // contextmenu: "undo redo | cut copy paste pastetext | selectall table", // 富文本右键菜单
      },
      content: this.value
    };
  },
  mounted() {
    tinymce.init({});
  },
  methods: {
 
  },
  watch: {
    value(newValue) {
      this.content = newValue;
    },
    content(newValue) {
      this.$emit("input", newValue);
    }
  }
};
</script>
<style>
/* 组件在dialog或者drawer中被遮挡 */
/* 富文本菜单 */
.tox-tinymce-aux {
  z-index: 9999 !important;
}
.tox-tinymce {
  border-radius: 0 !important;
}
</style>

 3、在父组件中引用

<editor-tinymce v-model="item.content"></editor-tinymce>
 
import EditorTinymce from "@/components/TinymceEditor/index.vue";
 
export default {
  components: {
    EditorTinymce
  },
}
4、页面效果 


 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 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、付费专栏及课程。

余额充值