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

这篇具有很好参考价值的文章主要介绍了Element-UI的dialog对话组件内的tinymce6弹窗被遮挡的解决办法及其它相关注意事项。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

问题一:tinymce的弹窗被遮挡

问题截图

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

解决办法

修改层级

注意要写在 <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打开弹出菜单后直接关闭对话组件,导致该弹出菜单残留

问题截图

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

解决办法

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

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

问题三:如何使用中文

解决办法

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

  1. 中文包位置:https://www.tiny.cloud/get-tiny/language-packages/
    Element-UI的dialog对话组件内的tinymce6弹窗被遮挡的解决办法及其它相关注意事项
  2. 配置
<Editor :init="{language: 'zh_CN'}" />

给个整体参考:

<!--注意属性 :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: 'fullscreen 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: 'fullscreen | 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下使用的注意事项笔记
Element-UI中调用tinymce提示This domain is not registered with TinyMCE Cloud,必须要api-key么?
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 弹出对话框的样式的修改问题文章来源地址https://www.toymoban.com/news/detail-414541.html

到了这里,关于Element-UI的dialog对话组件内的tinymce6弹窗被遮挡的解决办法及其它相关注意事项的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • 解决 element-ui 中From 表单和Dialog 对话框搭配使用时 resetFields重置方法无法清空数据的问题

    在实际开发实现表格的增删改查的时候,新增和修改通常共用一个弹窗以节省代码量  当我们先点击修改的时候,会对弹窗表单进行赋值,这个时候我们再点击新增,会发现刚刚的表单数据仍然躺在表单中,并且使用resetFields没有清除数据 其实resetFields()是生效了的,resetFie

    2024年02月16日
    浏览(53)
  • 基于element-ui el-dialog组件封装,可缩放+可移动的弹窗组件

    源码下载 改组件继承el-dialog组件百分之95属性,可直接对el-dialog进行替换。在项目中我的命名为: vue代码 :搞成组件,路径随意,推荐统一放在组件目录下 拖动及缩放操作js代码: 将skdialog.js注册为指令: 目录: 指令使用:(v-指令名称(SkDialogDrag)) 效果图: 注:吃水

    2024年02月03日
    浏览(61)
  • 解决element-ui组件库中dialog组件只显示遮罩层,未显示弹框的问题

    以下是直接粘贴的组件--基础用法 el-button type=\\\"text\\\" @click=\\\"dialogVisible = true\\\"点击打开 Dialog/el-button el-dialog   title=\\\"提示\\\"   :visible.sync=\\\"dialogVisible\\\"   width=\\\"30%\\\"   :before-close=\\\"handleClose\\\"   span这是一段信息/span   span slot=\\\"footer\\\" class=\\\"dialog-footer\\\"     el-button @click=\\\"dialogVisible = false\\\"取 消

    2024年02月03日
    浏览(87)
  • 解决问题:Element ui组件中Dialog对话框只显示遮罩层,不显示弹框内容

    以下是Dialog 对话框的基本用法: 这个时候页面只显示了遮罩层,但是不显示弹框的内容,查阅文档后,发现有这样一条: append-to-body的默认值是false,所以需要自己在el-dialog标签中手动设置为true,  加上之后弹框内容就可以显示了。

    2024年02月06日
    浏览(58)
  • Vue项目element-ui弹窗组件el-dialog、el-drawer,阻止点击遮罩层关闭

    效果图: 我们只需要设置这两个 属性 append-to-body :close-on-click-modal=“false” 注意 : 这里的close-on-click-modal属性前需要写入 :

    2024年02月12日
    浏览(64)
  • Element组件浅尝辄止6:Dialog 对话框组件

    Dialog 对话框组件:在保留当前页面状态的情况下,告知用户并承载相关操作。 大白话就是弹窗组件,日常开发中比较常见  Dialog 组件的内容可以是任意的,甚至可以是表格或表单 如果需要在一个 Dialog 内部嵌套另一个 Dialog,需要使用  append-to-body  属性。  Dialog 的内容是懒

    2024年02月10日
    浏览(44)
  • element-ui弹框dialog无故关闭问题

    element-ui弹框dialog无故关闭问题 引起原因,鼠标在dialog内按下滑动到外层遮罩后出发了遮罩的关闭事件,修改方法如下: 源文件中找到目录element-dev =packages =dialog =src = component.vue,替换点击事件@click.self=“handleWrapperClick”,代码如下,修改完成后打包 npm run dist,找到你的项目

    2024年02月12日
    浏览(43)
  • 如何使用element-ui相关组件如:el-select,el-table,el-switch,el-pagination,el-dialog

    element-ui 官方链接: 组件 | Element https://element.eleme.cn/#/zh-CN/component/installation userTypeOptions后端响应的对象数组数据 表格中添加模板的作用域实现 异步处理 监听status的状态 权限修改异步处理: 几个监听函数与异步请求 axios实现发送异步请求 监听弹窗

    2024年02月07日
    浏览(54)
  • element-ui / element-plus dialog 自定义层级

    背景:          微前端集成后主子应用的dialog 层级冲突导致主应用的弹窗被覆盖, 主子应用的弹窗都是append 到body 下的,  z-index 自动生成   尝试方案:          1. 根据官方Api 给弹窗添加自定义class, 并通过设置自定义 class 样式来控制;                  == 无效, 因为生

    2024年02月11日
    浏览(57)
  • 【element-ui】el-dialog改变宽度

    dialog默认宽度为父元素的50%,这就导致在移动端会非常的窄,如图1,需要限定宽度。 解决方法:添加 custom-class 属性,然后在style中编写样式, 注意 ,如果有 scoped 限定,需要加 ::v-deep

    2024年02月11日
    浏览(58)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包