vue中使用Tinymce

这篇具有很好参考价值的文章主要介绍了vue中使用Tinymce。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1、安装tinymce编辑器

npm i tinymce
npm i @tinymce/tinymce-vue

或:

yarn add tinymce

yarn add @tinymce/tinymce-vue

 文章来源地址https://www.toymoban.com/news/detail-650498.html

2、配置中文语言包

地址:中文语言包

注:最好将语言包放在public/langs/或static/langs/目录下,下面组件将会引用

 

3、封装组件

在components 目录下新建 tinymce.vue 

<template>
    <div>
        <Editor :id="tinymceId" :init="init" :disabled="disabled" v-model="myValue"></Editor>
    </div>
</template>

<script>
//引入tinymce-vue
import Editor from '@tinymce/tinymce-vue'
//公共的图片前缀
//import Global from "./Global";
export default {
    components: { Editor },
    props: {
        //编号
        id: {
            type: String
        },
        //内容
        value: {
            type: String,
            default: ''
        },
        //是否禁用
        disabled: {
            type: Boolean,
            default: false
        },
        //插件
        plugins: {
            type: [String, Array],
            default: 'preview searchreplace autolink directionality visualblocks visualchars fullscreen image link media code codesample table charmap pagebreak nonbreaking anchor insertdatetime advlist lists wordcount help emoticons autosave autoresize formatpainter',
        },
        //工具栏
        toolbar: {
            type: [String, Array],
            default: 'code undo redo restoredraft | fullscreen | cut copy paste pastetext | forecolor backcolor bold italic underline strikethrough link anchor | alignleft aligncenter alignright alignjustify outdent indent | \
    styleselect formatselect fontselect fontsizeselect | bullist numlist | blockquote subscript superscript removeformat | \
    table image media charmap emoticons hr pagebreak insertdatetime print preview | bdmap indent2em lineheight formatpainter axupimgs',
        }
    },
    data() {
        let that = this;
        return {
            tinymceId: this.id || 'vue-tinymce' + Date.parse(new Date()),
            myValue: this.value,
            init: {
                //汉化,路径是自定义的
                language_url: '/tinymce/langs/zh_CN.js',
                language: 'zh_CN',
                //皮肤
                skin: 'oxide',
                //插件
                plugins: this.plugins,
                //工具栏
                toolbar: this.toolbar,
                //高度
                height: 500,
                //图片上传
                images_upload_handler: function (blobInfo, success, failure) {
                    //文件上传的formData传递
                    let formData = new FormData();
                    formData.append('file', blobInfo.blob(), blobInfo.filename());
                    //上传的api,和后端配合,返回的是图片的地址,然后加上公共的图片前缀
                    that.$api.system.uploadImage(formData).then(res => {
                        var url = "tt"//Global.baseUrlImg + res;
                        console.log(url)
                        success(url)
                    }).catch(res => {
                        failure('图片上传失败')
                    });
                }
            }
        }
    },
    methods: {

    },
    watch: {
        //监听内容变化
        value(newValue) {
            this.myValue = newValue
        },
        myValue(newValue) {
            this.$emit('input', newValue)
        }
    }
}
</script>
<style>
.tox-notifications-container {
    display: none;
}

/*在页面正常使用时不用加这个样式,在弹窗使用时,要加这个样式,因为使用弹窗,z-index层数比较低,工具栏的一些工具不能使用,要将z-index层数提高。*/
.tox.tox-silver-sink.tox-tinymce-aux {
    z-index: 2100 !important;
}</style>

 

4、引用组件

新建test.vue

<template>
    <div>
        <TinymceEditor :value="content" @input="newContent"></TinymceEditor>
    </div>
</template>
  
<script>
import TinymceEditor from "./components/tinymce.vue"
export default {
    components: {
        TinymceEditor
    },
    data() {
        return {
            content: ""
        }
    },
    methods: {
        // 获取富文本的内容
        newContent(val) {
            this.content = val; // 直接更新 content 属性
        }
    }
}
</script>

 

注:文件引入路径是关键

 

到了这里,关于vue中使用Tinymce的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Vue2 实现内容拖拽或添加 HTML 到 Tinymce 富文本编辑器的高级功能详解

    在 Web 开发中,Tinymce 被广泛应用作为富文本编辑器。除了基础的文本编辑功能,Tinymce 还提供了一系列高级功能,使得文本编辑更加灵活和便捷。本文将介绍如何在 Tinymce 中实现一些高级功能,并深入了解每个工具的使用。 Tinymce 是一款基于 JavaScript 的富文本编辑器,支持丰

    2024年02月03日
    浏览(79)
  • 集成tinyMCE编辑器以及踩的坑

    一、tinyMCE编辑器没有实时更新 场景是这样的,在form表单中引用Tinymce富文本编辑组件,在多次重新打开不同form表单时,form携带的数据没有实时更新到Tinymce内,总是显示上一个的form的数据 原因:Tinymce只渲染了一次,所以造成数据有点问题。所以解决的方法就是利用 v-if 的方

    2024年02月21日
    浏览(44)
  • tinymce4/5实现将word中内容(文字图片等)直接粘贴至编辑器中——利用插件tinymce-powerpaste-plugin

    TinyMCE是一款易用、且功能强大的所见即所得的富文本编辑器。同类程序有:UEditor、Kindeditor、Simditor、CKEditor、wangEditor、Suneditor、froala等等。 TinyMCE的优势: 开源可商用,基于LGPL2.1 插件丰富,自带插件基本涵盖日常所需功能(示例看下面的Demo-2) 接口丰富,可扩展性强,有

    2024年02月15日
    浏览(46)
  • Tinymce富文本编辑器二次开发电子病历时解决的bug

    本文是在Tinymce富文本编辑器添加自定义toolbar,二级菜单,自定义表单,签名的基础之上进行一些bug记录,功能添加,以及模版的应用和打印 项目描述 建立电子病历模版—录入(电子病历模版和电子病历打印模版)—查看电子病历和打印病历模版 建立电子病历----添加一个电

    2024年04月10日
    浏览(59)
  • 解决在tinymce编辑器插入视频到正文后不能跳转播放的问题

    问题:在其他软件中上传了视频文件,而后将此视频文件插入到正文中,此视频文件 可以 点击进度条跳转进度;而在知了(出现bug的这个软件)中上传了视频文件,而后将此视频文件插入到正文中。此视频文件 无法 点击进度条跳转进度。 需求:希望可以在知了中上传视频

    2024年02月01日
    浏览(56)
  • vue中使用Tinymce

    npm i tinymce npm i @tinymce/tinymce-vue 或: yarn add tinymce yarn add @tinymce/tinymce-vue   地址:中文语言包 注:最好将语言包放在public/langs/或static/langs/目录下,下面组件将会引用   在components 目录下新建 tinymce.vue    新建test.vue   注:文件引入路径是关键  

    2024年02月12日
    浏览(21)
  • vue中 使用Tinymce 的一键布局插件

                    首先需要配置好 Tinymce 相关的组件已经配置操作 。                 可以参考 官网:将 TinyMCE 包与 Vue.js 框架一起使用|TinyMCE 文档。         Tinymce 是提供了一系列的插件的,但是默认是没有一键布局的插件,需要引入其他的来进行实现 。         本次

    2024年02月07日
    浏览(30)
  • Vue使用的编辑器

    作者简介:一名计算机萌新、前来进行学习VUE,让我们一起进步吧。   座右铭:低头赶路,敬事如仪 个人主页:我叫于豆豆吖的主页 目录  前言 一.vue常用的IDE工具Visual Studio Code 3. 汉化教程 4.常用快捷键 5. Visual Studio Code 常用插件推荐 二.vue常用的IDE工具webstorm 1.WebStorm优点

    2024年02月08日
    浏览(44)
  • Vue使用markdown编辑器

    1.安装 2.main.js全局注册 3.vue页面使用 4.文章预览

    2024年01月25日
    浏览(53)
  • VUE3使用JSON编辑器

    1、先看看效果图,可以自行选择展示效果 2、这是我在vue3项目中使用的JSON编辑器,首先引入第三方插件 3、引入到项目中 4、一般后端返回的是会将JSON转为String形式,我们传给后端也是通过这种形式,就可以通过后端拿到的数据进行JSON与String之间转换 5、例子: 6、参数 参数

    2023年04月21日
    浏览(43)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包