Element-UI的dialog对话组件内的tinymce弹窗被遮挡的解决办法及其它相关注意事项

news2024/12/24 11:44:56

问题一:tinymce的弹窗被遮挡

问题截图

在这里插入图片描述

解决办法

修改层级

注意要写在 <style></style> 中,我当时没注意,写在了 <style scoped></style> 中,死活没反应。

<style>
/* 在el-dialog中tinymce z-index 被太小而被遮挡时要加这两句 */
.tox-tinymce-aux{z-index:99999 !important;}
.tinymce.ui.FloatPanel{z-Index: 99;}
</style>

问题二:tinymce打开弹出菜单后直接关闭对话组件,导致该弹出菜单残留

问题截图

在这里插入图片描述
在这里插入图片描述

解决办法

利用属性 :destroy-on-close="true" 要求对话组件关闭后销毁其中的元素

<el-dialog :destroy-on-close="true">
...
</el-dialog>

问题三:如何使用中文

解决办法

下载中文包,初始化时配置中文即可。

  1. 中文包位置:https://www.tiny.cloud/get-tiny/language-packages/
    在这里插入图片描述
  2. 配置
<Editor :init="{language: 'zh_CN'}" />

问题四:tinymce会提示注册云

问题截图

如果只导入了import Editor from '@tinymce/tinymce-vue',而没有配置api-key,则会提示注册云,因为会到云去下载。
在这里插入图片描述

解决办法

有三个解决方法

  1. 点击提示中的注册链接【create an account】,去注册一个账号,就能获得一个 api-key
    在这里插入图片描述

使用时将该值配置给 api-key 就行

<Editor :api-key="abcdefghijklmnopqrst1234567890" />
  1. 本地加载所有需要的文件
    例如:
import editor from '@tinymce/tinymce-vue'

import 'tinymce/tinymce'

// Theme
import 'tinymce/themes/silver/theme'

// Skins
import 'tinymce/skins/ui/oxide/skin.min.css'
import 'tinymce/skins/ui/oxide/content.min.css'
import 'tinymce/skins/content/default/content.min.css'

// Plugins
import 'tinymce/plugins/fullscreen'
import 'tinymce/plugins/paste'
import 'tinymce/plugins/autoresize'
  1. 删除 tinymce.min.js 该提示。。。
"service_message":"This domain is not registered with Tiny Cloud.  Please review \u003ca target=\"_blank\" href=\"https://www.tiny.cloud/my-account\"\u003eyour approved domains\u003c/a\u003e."

给个整体参考:

<!--注意属性 :destroy-on-close="true"-->
<el-dialog v-model="dialogFormVisible" :before-close="closeDialog" title="弹窗操作" :destroy-on-close="true">
	<el-form :model="formData" label-position="right" ref="elFormRef" :rules="rule" label-width="80px">
		<el-form-item label="content字段:"  prop="content" >
          <Editor
            :api-key="tinymceApiKey" 
            :init="tinymceInit" 
            v-model="formData.content" 
          />
        </el-form-item>
	</el-form>
</el-dialog>

<script setup>
// === 编辑器开始 ===
// import 'tinymce' //如果启用本项,则后续必须手动导入所有皮肤、插件等,可以不用apikey
import Editor from '@tinymce/tinymce-vue'
const tinymceApiKey = "abcdefghijklmnopqrstuvwxyz"
const tinymceInit = {
      //selector: 'textarea',
      language: 'zh_CN',
      plugins: 'anchor autolink charmap codesample emoticons image link lists media searchreplace table visualblocks wordcount checklist mediaembed casechange export formatpainter pageembed linkchecker a11ychecker tinymcespellchecker permanentpen powerpaste advtable advcode editimage tinycomments tableofcontents footnotes mergetags autocorrect typography inlinecss',
      toolbar: 'undo redo | blocks fontfamily fontsize | bold italic underline strikethrough | link image media table mergetags | addcomment showcomments | spellcheckdialog a11ycheck typography | align lineheight | checklist numlist bullist indent outdent | emoticons charmap | removeformat',
      tinycomments_mode: 'embedded',
      tinycomments_author: 'Author name',
      mergetags_list: [
        { value: 'First.Name', title: 'First Name' },
        { value: 'Email', title: 'Email' },
      ]
    }
// === 编辑器结束 ===

const formData = ref({
        content: ''
        })
const rule = reactive({
})

const elFormRef = ref()

// 弹窗控制标记
const dialogFormVisible = ref(false)

// 关闭弹窗
const closeDialog = () => {
    dialogFormVisible.value = false
    formData.value = {
        content: ''
        }
}
</script>

<style>
/* 在el-dialog中tinymce z-index 被太小而被遮挡时要加这两句 */
.tox-tinymce-aux{z-index:99999 !important;}
.tinymce.ui.FloatPanel{z-Index: 99;}
</style>

<style scoped>
@media (min-width: 1024px) {
  #sample {
    display: flex;
    flex-direction: column;
    place-items: center;
    width: 1000px;
  }
}
</style>

参考:
Dialog 对话框 Element-UI官方文档
TinyMCE中文文档

Tinymce plugins [Tinymce扩展插件集合]
在vue3.0项目中使用tinymce富文本编辑器
vue项目中使用 tinymce 富文本(本地依赖版)

Vue中使用tinymce和在NanUI下使用的注意事项笔记
This domain is not registered with TinyMCE Cloud
Vue引入tinymce 错误提示 This domain is not registered with Tiny Cloud. Please review
tinymce 富文本编辑器 关于“This domain is not registered with TinyMCE Cloud. Start a free trial to discover ”
TinyMce5富文本在Vue element UI的dialog中modal被遮挡的问题的两种解决办法
Vue 踩坑 tinycme富文本组件在dialog弹窗中的问题解决
TinyMCE在Vue element的dialog中(modal)被遮挡的问题终极解决办法
elementUI dialog 对话框层级问题
(Dialog)解决:Element-ui 中 Dialog 弹出对话框的样式的修改问题

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/175308.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

C进阶_指针和数组试题解析

农历新年即将到来&#xff0c;我在这里给大家拜年了&#xff01;祝大家新的一年心想事成&#xff0c;皆得所愿。新的一年&#xff0c;新的征程&#xff0c;愿各位继续怀揣梦想和远方&#xff0c;奔赴每一场山海。我们一起砥砺前行&#xff0c;“卯定乾坤”&#xff01; 老老少…

Spring Boot操作数据库学习之整合JDBC

文章目录一 Spring Data简介二 Spring Boot集成JDBC2.1 项目创建步骤2.2 测试的SQL脚本2.3 编写yaml配置文件连接数据库2.4 IDEA连接数据库步骤【非必要的步骤】2.5 测试2.6 运行结果2.7 对运行结果的探究2.8 遇到的错误2.8.1 问题1&#xff1a;jdk编译版本2.8.2 解决方法2.8.3…

低成本搭建一台 Unraid 家庭存储服务器:中篇

虎年最后一篇文章&#xff0c;接着上一篇内容&#xff0c;聊聊如何提升硬件的易用性问题。 写在前面 如果你的诉求非常简单、明确&#xff0c;不需要界面&#xff0c;上一篇内容中的 Ubuntu Server 应该已经能够完成你的诉求了。 但是&#xff0c;如果你和我一样&#xff0c…

【Java数据结构与算法】day4-稀疏数组和队列(环形队列)

✅作者简介&#xff1a;热爱Java后端开发的一名学习者&#xff0c;大家可以跟我一起讨论各种问题喔。 &#x1f34e;个人主页&#xff1a;Hhzzy99 &#x1f34a;个人信条&#xff1a;坚持就是胜利&#xff01; &#x1f49e;当前专栏&#xff1a;Java数据结构与算法 &#x1f9…

第五届字节跳动青训营 前端进阶学习笔记(七)HTTP协议入门

文章目录前言HTTP协议概述1.输入网址到页面加载完成中间发生了什么2.HTTP协议3.HTTP协议的发展历程4.HTTP报文结构&#xff08;1&#xff09;HTTP请求报文&#xff08;2&#xff09;HTTP响应报文5.请求方法&#xff08;1&#xff09;安全的方法&#xff08;2&#xff09;幂等6.…

表单标签的学习

表单标签的学习 textarea textarea标签来表示多行文本框&#xff0c;又叫做文本域。与其它 标签不同&#xff0c; textarea标签是单闭合标签&#xff0c;它包含起始标签和结束标签&#xff0c;文本内容需要写在两个标签中间。 input input type“text” 表示文本框 &#xff…

CSS入门学习笔记+案例

目录 一、 CSS的基础 1、快速了解 2、CSS应用方式 ①在标签上 ②在head标签中写style标签 ③写到文件中 二、CSS的选择器 1、ID选择器 2、类选择器 3、标签选择器 4、属性选择器 5、后代选择器 三、样式覆盖 四、CSS的样式 1、高度和宽度 2、块级和行内标签 3、字体…

七大排序---详细介绍

插入排序从第二个数&#xff0c;往前面进行插入&#xff0c;默认第一个数字有序&#xff0c;插入第二个&#xff0c;则前两个都有序了&#xff0c;一个一个往后选择数字&#xff0c;不断向前进行插入直接插入排序时间复杂度&#xff1a;最好情况&#xff1a;全部有序&#xff0…

决策树应用

使用Python中的sklearn中自带的决策树分类器DecisionTreeClassifier import sklearn clf sklearn.tree.DecisionTreeClassifier(criterionentropy)sklearn中只实现了ID3与CART决策树&#xff0c;所以我们暂时只能使用这两种决策树&#xff0c;在构造DecisionTreeClassifier类…

计算机视觉OpenCv学习系列:第六部分、图像操作-2

第六部分、图像操作-2第一节、图像几何形状绘制1.几何形状2.填充、绘制与着色3.代码练习与测试第二节、多边形填充与绘制1.多边形绘制函数2.绘制与填充3.代码练习与测试第三节、图像像素类型转换与归一化1.归一化方法与支持2.归一化函数3.代码练习与测试第四节、图像几何变换1.…

小智学长嵌入式入门学习路线_1 C语言基础

原课程链接&#xff1a; 嵌入式开发系统学习路线 从基础到项目 精品教程 单片机工程师必备课程 物联网开发 c语言 2022追更 前言 在学习过程中&#xff0c;老师提到了一个很重要的思想&#xff1a;主要从学习嵌入式的角度学习各项技能。比如c语言&#xff0c;语法有很多&…

【Java|golang】1807. 替换字符串中的括号内容

给你一个字符串 s &#xff0c;它包含一些括号对&#xff0c;每个括号中包含一个 非空 的键。 比方说&#xff0c;字符串 “(name)is(age)yearsold” 中&#xff0c;有 两个 括号对&#xff0c;分别包含键 “name” 和 “age” 。 你知道许多键对应的值&#xff0c;这些关系由…

Linux基本功系列之chmod命令实战

文章目录一. chmod命令介绍二. 语法格式及常用选项三. 参考案例3.1 对全部用户增加写的权限3.2 所有用户减去读的权限3.3 给文件的所有者和所有组加上读写权限3.4 设置所有用户为读写执行的权限3.5 文件拥有着为rwx&#xff0c;所属组为rw&#xff0c;其它为r3.6 去掉所有者的r…

高级Spring之ApplicationContext功能

第一步&#xff0c;我们先来看这个接口的内部结构&#xff0c;了解别人的内部&#xff0c;知己知彼&#xff0c;百战不殆&#xff1a; 这个接口的扩展功能主要体现在它继承的四个接口上&#xff1a; MessageSource&#xff1a;国际化功能 ResourcePatternResolver: 资源访问功…

第23章_Tomcat和JavaEE入门

一、JavaEE简介什么是JavaEEJavaEE&#xff08;Java Enterprise Edition&#xff09;&#xff0c;Java企业版&#xff0c;是一个用于企业级web开发平台。最早由Sun公司定制并发布&#xff0c;后由Oracle负责维护。JavaEE平台规范了在开发企业级web应用中的技术标准.在JavaEE平台…

Acwing——第 87 场周赛

题目链接 4797. 移动棋子 4798. 打怪兽 4799. 最远距离 题目描述 4797. 移动棋子 给定一个 5 行 5 列的方格矩阵&#xff0c;其中一个方格中有一个棋子。 现在&#xff0c;我们希望将棋子移动至矩阵的最中心方格中&#xff0c;即将其移动至矩阵的第 3行第 3列方格中。 每次…

8种时间序列分类方法总结

对时间序列进行分类是应用机器和深度学习模型的常见任务之一。本篇文章将涵盖 8 种类型的时间序列分类方法。这包括从简单的基于距离或间隔的方法到使用深度神经网络的方法。这篇文章旨在作为所有时间序列分类算法的参考文章。 时间序列定义 在涵盖各种类型的时间序列 (TS) 分…

分布式锁与实现(一)-为什么需要分布式锁

1 在开发中的锁是什么 在计算机科学中&#xff0c;锁是在执行多线程时用于强行限制资源访问的同步机制&#xff0c;即用于在并发控制中保证对互斥要求的满足。 在java中我们有两种资源控制方式Synchronized与AQS 1.2 基于Synchronized实现的锁控制 Synchronized是java提供的一…

JDK 8新特性之Lambda表达式

目录 一&#xff1a;使用匿名内部类存在的问题 Lambda表达式写法,代码如下&#xff1a; 二&#xff1a;Lambda的标准格式 三&#xff1a;Lambda的实现原理 四&#xff1a;Lambda省略格式 五&#xff1a;Lambda的前提条件 六&#xff1a;函数式接口 七&#xff1a;Lambd…

05回溯法

文章目录装载问题回溯算法优化算法构造最优解0-1背包问题批处理作业调度问题图的M着色问题N皇后问题最大团问题回溯算法实际上一个类似枚举的搜索尝试过程&#xff0c;主要是在搜索尝试过程中寻找问题的解&#xff0c;当发现已不满足求解条件时&#xff0c;就“回溯”返回&…