首页 > 其他分享 >vue3 ts 集成 tinymce

vue3 ts 集成 tinymce

时间:2024-05-17 11:30:45浏览次数:19  
标签:const image tinymce ts upload vue3 false true

首先引入 @tinymce/tinymce-vue
yarn add @tinymce/tinymce-vue -S
我的版本是 image

然后写一个组件


<template>
  <main id="sample">
    <Editor v-model="editorData" api-key="j7tvgx4xnptg3cjd63cfnl62z9s78uylw4o7vkkwdljjy91e" :init="init" />
  </main>
</template>
<script lang="ts" setup>
import Editor from '@tinymce/tinymce-vue'
import instance from '@/util/http'
let props = defineProps(['editorValue'])
const emit = defineEmits(['update:editorValue', 'update:test2'])
let editorData = ref(props.editorValue)
// 图片上传
const example_image_upload_handler = (blobInfo, success, failure) => {
  return new Promise((resolve, reject) => {
    const formData = new FormData()
    formData.append('file', blobInfo.blob(), blobInfo.filename())
    instance
      .post('/system/file/upload/webImage', formData, {
        headers: {
          client: 'WEB_USER',
          'Content-Type': 'multipart/form-data'
        }
      })
      .then(res => {
        resolve(res.data)
      })
  })
}
const onChange = editor => {
  editor.on('change', () => {
    emit('update:editorValue', editorData.value)
  })
}
const init = {
  selector: '#tinydemo',
  language: 'zh_CN',
  language_load: true, // 语言包是否开启
  promotion: false, //Upgrade是否开启
  branding: false, // 移除底部品牌信息
  menubar: false, // 移除顶部菜单栏
  height: 500,
  statusbar: false, // 移除底部状态栏
  toolbar_mode: 'sliding', // 工具栏模式
  paste_data_images: true, // 粘贴图片
  file_picker_types: 'image', // 文件选择类型
  image_uploadtab: true, // 图片上传选项卡
  plugins: 'link image',
  toolbar: ' bold italic backcolor forecolor| fontsize fontfamily | alignleft aligncenter alignright alignjustify | image link emoticons',
  image_dimensions: false,
  image_description: false,
  image_title: false,
  a11ychecker_allow_decorative_images: false,
  typeahead_urls: false,
  block_unsupported_drop: true,
  placeholder: '请输入内容...',
  images_upload_handler: example_image_upload_handler,
  setup: onChange
}
</script>
<style>
// 修改 弹出框在组件之下的问题
.tox-tinymce-aux {
  z-index: 3000 !important;
}
</style>


我是个后端 可能写的不太好 欢迎评论

标签:const,image,tinymce,ts,upload,vue3,false,true
From: https://www.cnblogs.com/wyxqlgl/p/18197523

相关文章

  • Vue3:Cannot read properties of null (reading 'isCE')
    Cannotreadpropertiesofnull(reading'isCE')  这个问题是在vue3中引入elementui的列表框时出现的。经过网上查询,有说是装了两个vue版本的,也有说是其他代码写错导致的,还有说是导入错误的。  但我的不是这个问题,我的是版本兼容问题。因为在网上查询时看到,elementui适......
  • GreatSQL数据库DROP表后无法重建
    一、数据库信息:数据库版本:5.7.21-log某银行测试数据库,APP业务库内有一个含有大量(几百个)分区表的大表test_app。DROP该分区表的大表后导致无法重建该分区表。二、问题描述:客户使用“droptabletest_app;”时,显示表删除成功。当重新执行该表的建表语句时,报错“Table'app.test_......
  • 基于Vue3水印组件封装:防篡改守护!
    基于Vue3的全新水印通用组件。这款组件不仅功能强大,而且易于集成,能够轻松为您的网页或应用添加自定义水印,有效防止内容被篡改或盗用。在线查看效果:原文可查看效果地址一,编写watermark组件<template><divref="watermarkContainerRef"class="watermark-container">......
  • LTSPICE Tips
    快捷键:   ①瞬态分析:看电压、电流、功率,类似示波器     ②交流分析:看频响增益损耗-3dB带宽 ACanalysis里的扫频参数:list:确定某一频点进行分析linear:线性的每个扫描频点的坐标点间距相等octave八倍频、decade十倍频:倍频是频程的意思,即下一个坐标点......
  • AI赋能ITSM:企业运维跃迁之路
    随着企业信息化建设的深入,IT运维管理作为保证企业信息系统稳定运行的重要工作,越来越受到重视。那么,什么是IT运维呢?简单地说,IT运维是一系列维护、管理和优化企业IT基础设施、系统和应用程序的活动。那么,IT运维需要解决哪些问题呢?保证IT系统的稳定性和安全性,保证业务的正常运行......
  • 说说ITSM项目实战那些事儿(一)
    遵循着“光说不练假把式,真功夫还得靠实践”的道理,想要知道IT服务管理体系到底好不好,动手干一干才是王道。说到ITSM项目实施,有几条咱们觉得特别重要:实实在在看看现在的运维情况仔仔细细分析运维到底需要啥设计一套靠谱又专业的服务方案编写测试代码,质量得过硬上线流程得科学......
  • socketserver,操作系统了解
    Ⅰsocketserver【一】引入socket并不能多并发,只能支持一个用户socketserver模块是Python中用于创建网络服务器的模块,提供了一种简单而一致的接口。它是构建网络服务器的框架,处理了创建、维护和关闭连接的许多底层细节socketserver是socket的再封装【二】socke......
  • 无法AC,关于使用fgets碰到的问题——末尾多一个换行符
    题目是输入一串字符串,包含空格,里面有多个单词,将每个单词翻转输出,并且单词之间的空格要与原文一致。写的时候没有使用string的输入,而是选择了char数组的输入。样例测试helloworld->ollehdlrow是没有问题的,就以为没问题,但是一直通不过。调试的时候,变量也是有些神奇,不过这个是系......
  • vue3百科全书
    @目录2.2.【基于vite创建】(推荐)2.3.【一个简单的效果】3.Vue3核心语法3.1.【OptionsAPI与CompositionAPI】3.2.【拉开序幕的setup】setup概述setup的返回值setup与OptionsAPI的关系setup语法糖3.3.【ref创建:基本类型的响应式数据】3.4.【reactive创建:对象......
  • PCIE状态机-LTSSM
    一、PCIE LTSSMLTSSM是指LinkTrainingandStatusStateMachine,是PCIe物理层实现的,用于控制和管理PCIe总线上的数据链路。它提供了一组状态,以便设备进行链路训练和链接协商。在PCIe总线上,发送端和接收端需要进行链路训练,以便确定最佳的链接速度和链接宽度。LTSSM的作......