使用tinymce实现富文本功能

本文介绍了如何在项目中用TinyMCE替换Quill,以解决表格编辑问题。 TinyMCE提供了清除撤销历史记录的功能,适用于需要在表格内编辑协议的场景。文章包含安装步骤、清除撤销历史记录的方法、完整代码示例以及汉化包的下载链接。
摘要由CSDN通过智能技术生成

最近接到一个富文本编辑协议的功能,最开始是使用的Quill插件,后面发现Quill对表格类的标签不太友好,就只有换掉Quill,由tinymce取而代之。

导读: 该组件功能是基于在表格里展示协议,并对协议内容进行编辑,在结束编辑后再次编辑将清除之前的历史记录

安装(使用的是vue3

yarn add "@tinymce/tinymce-vue@^5" // yarn 
npm install "@tinymce/tinymce-vue@^5" // npm 

清除撤销历史记录

let elem = tinymce.get(this.tinymceId) // this.tinymceId 为元素id名 不带#号
elem.undoManager.clear();

完整代码

<template>
    <div class="app-container">
      <textarea :id="`tinymce${selectRowIndex}`" v-model="tinymceHtml"></textarea>
    </div>
  </template>
  <script>
  import tinymce from 'tinymce/tinymce'
  import 'tinymce/models/dom' // 特别注意 tinymce 6.0.0 版本之后必须引入,否则不显示
  import 'tinymce/themes/silver/theme'
  import 'tinymce/icons/default'
  import 'tinymce/plugins/image'
  import 'tinymce/plugins/link'
  import 'tinymce/plugins/code'
  import 'tinymce/plugins/table'
  import 'tinymce/plugins/lists'
  import 'tinymce/plugins/wordcount'
  
  // 引入富文本编辑器主题的js和css
  import 'tinymce/themes/silver/theme.min.js'
  import 'tinymce/skins/ui/oxide/skin.min.css'
  export default{
   
    props:{
   
        config: Object,
        selectRowIndex: {
   
            type: Number,
            default: -1,
            require: true,
        },
        editing: {
   
            type: Boolean,
            default: fals
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Tinymce 是一款非常流行的富文本编辑器,它提供了许多丰富的功能,包括格式刷功能使用 Tinymce 实现格式刷功能的方法如下: 第一步,首先需要配置 Tinymce 编辑器。具体方法是,需要在 Tinymce 的初始化函数中设置一个 toolbar 的数组,用来定义工具栏中显示的按钮。在这个数组中,需要添加一个 button,用来表示格式刷功能。 第二步,添加格式刷功能的代码。这一步可以使用 Tinymce 提供的 API 来实现格式刷功能。具体方法是,使用 getFormat 方法获取选中文本的格式,然后将这个格式应用到其它文本中。在应用格式的过程中,还可以使用 Tinymce 提供的 filter 方法来过滤一些非法的标签和属性。 第三步,添加一个按钮绑定格式刷功能。这个按钮可以添加到工具栏上,或者在页面上以其它形式显示。当用户点击这个按钮时,就会触发格式刷功能。 总之,Tinymce 可以通过一些简单的配置和代码实现格式刷功能。这个功能可以大大提高用户的编辑效率,使得文本编辑变得更加方便和易用。 ### 回答2: tinymce是一种基于JavaScript富文本编辑器,可以在网页上直接编辑网页中的文字内容,实现所见即所得。在tinymce中,有许多实用的功能,其中包括格式刷功能。 格式刷功能是一种非常实用的文字排版工具,可以将已设定好格式的文字样式应用到其他文本上,从而快速实现一致的排版效果。在tinymce中,实现格式刷功能也很简单,具体步骤如下: 1. 打开tinymce编辑器,选择需要应用格式的文字。 2. 点击“格式刷”按钮,这个按钮通常是一个刷子的图标,可以在tinymce的工具栏中找到。 3. 然后,将鼠标的光标移到需要应用格式的文本上,进行单击。 4. 这时,文字的格式就会被应用到选中的文本中。 除了以上这种常规的格式刷功能,还可以在tinymce中自定义格式刷,具体步骤如下: 1. 打开tinymce编辑器,选择需要自定义的文本。 2. 点击“格式刷”按钮,在下拉菜单中选择“自定义格式刷”。 3. 然后,在弹出的对话框中,设置需要自定义的文字格式,比如字体、大小、颜色等。 4. 最后,点击“确认”按钮,将自定义的格式刷保存下来。 这样,在编辑文字时,就可以直接通过选择自定义的格式刷,快速应用之前设置好的文字格式,从而提高工作效率。总之,tinymce编辑器提供的格式刷功能与自定义格式刷功能,对于web前端工程师来说非常实用,帮助他们更加高效地进行网页排版设计,实现所见即所得的效果。 ### 回答3: tinymce是一个非常常用的富文本编辑器,它有着丰富的功能以及插件,其中也包括格式刷功能。格式刷功能可以使用户在编辑文本时更快速、更方便地将文本的格式进行统一。下面就是如何在tinymce实现格式刷功能的方法。 首先,需要在tinymce的配置项中添加一个按钮,该按钮即为格式刷按钮,用户点击该按钮可以启动格式刷的功能。为此,可以在tinymce配置项的toolbar选项中添加“formatselect”属性,用以显示格式刷按钮。例如: tinymce.init({ selector: 'textarea', toolbar: 'formatselect' }); 在添加了格式刷按钮之后,需要自定义格式刷的样式,以满足用户的需求。可以在tinymce的配置项中的formats选项中定义格式刷样式,例如: tinymce.init({ selector: 'textarea', toolbar: 'formatselect', formats: { custom: { block: 'p', attributes: { class: 'custom-style' } } } }); 上述代码中,我们定义了一个名为custom的自定义样式,该样式的标签是<p>,并且有一个class属性为custom-style。 最后,需要在点击格式刷按钮的时候,将选中的文本应用该格式刷样式。为此,可以在tinymce的配置项中的setup选项中添加一个函数来实现功能。例如: tinymce.init({ selector: 'textarea', toolbar: 'formatselect', formats: { custom: { block: 'p', attributes: { class: 'custom-style' } } }, setup: function (editor) { editor.addButton('formatbrush', { icon: 'formatbrush', tooltip: "Format Brush", onclick: function () { editor.formatter.apply('custom'); } }); } }); 上述代码中,我们添加了一个名为formatbrush的按钮,可以在tinymce中看到其图标为一个刷子。在点击该按钮的时候,调用editor.formatter.apply('custom')方法,即可应用我们定义的custom样式。 总之,通过以上步骤,便可在tinymce实现格式刷功能了。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值