elementUI弹窗之坑(dialog的遮罩层在弹出层的上面,子弹窗执行保存(确定)按钮之后还要执行取消按钮,Prop being mutated: "showTree")

以element ui为例分析前端各种弹窗和对话框的使用场景与区别 本文研究分析element ui 中的各种弹窗和对话框,包括了:Dialog 对话框,Drawer 抽屉,MessageBox 弹框,Popconfirm 气泡确认框,Message 消息提示,Notification 通知。同时说明了Dialog 对话框与Drawer 抽屉的区别、MessageBox和Dialog的区别以及Message消息提示与Notification通知的区别。 阅读详情

本文主要解决elementUI弹窗嵌套中的坑,笔者在给同事解决难听过程看到了三个问题:

弹窗套弹窗出现蒙层、

弹窗套弹窗,子弹窗执行保存(确定)按钮之后还要执行取消按钮、

弹窗自带关闭x按钮报错[Vue warn]: Avoid mutating a prop directly since the value will be overwritten whenever the parent component re-renders. Instead, use a data or computed property based on the prop's value. Prop being mutated: "showTree"。

蒙层问题

我们可以看一下elementUI官网上对el-dialog的说明

这时候有两个属性可供我们选择去处理这个问题。当你用:modal-append-to-body="true"的时候,你会发现蒙层问题解决了,但是又有新的问题出现,就是子弹窗关闭不掉了。所以这种方式不可取。

最终的解决方案,就是给父子弹窗都加上:append-to-body='true' ,问题就完美解决了。

子弹窗执行保存(确定)按钮方法之后还要执行取消按钮方法

   如果你是在父组件中引入子弹窗是下面这种方式,然后再子弹窗中依然用这种方式引入它的子弹窗,当你在子弹窗中执行孙子弹窗通过this.$emit传递的方法的过程中,你的在取消方法里面写一个debugger,打开控制台,点击孙子弹窗上的保存按钮,你会发现它进入到断点中。怎么解决这个问题呢?

父组件界面引入add弹窗
<ai-dialog :visible.sync="addDialog" :append-to-body='true' :close-on-click-modal="false" :title="titleName" width="80%">
  <add
    ref="addObject"
    :afferentID="afferentID"
    :addObject="noticeObject"
    :visible="addDialog"
    @saveClick="save
    @cancelClick="cancel"
  />
</ai-dialog>

add弹窗界面引入user弹窗

<ai-dialog width="70%" :visible.sync="userTreeDialog" :append-to-body='true'  @close="handleCancelDialog">
    <user 
      :showTree="userTreeDialog" 
      :users="checkedPersons" 
      @cancelClick="handleCancelDialog"
      @addUserCallBack="getUser"/>
</ai-dialog>

解决方法: 需要在user弹窗中用ai-dialog把原先写好的代码包裹,在add弹窗中直接用

<user
  :showTree="userTreeDialog"
  :users="checkedPersons"
  @cancelClick="handleCancelDialog"
  @addUserCallBack="getUser"/>

 

取消 保存按钮不报错,弹窗自带关闭x按钮报错

我们在点击按钮的时候,不报错,是因为我们把方法通过this.$emit传递给了父组件了,让父组件去改变自身的值。

但是弹窗自带的x关闭按钮,如果不写方法,就默认自己修改了:visible.scyc绑定的值,也就是直接改变了父组件传递过来控制子组件显示或隐藏的值。

这个时候,我们需要借用我们的取消按钮的方法,因为x执行的是和取消一样的效果。

在ai-dialog上绑定

:before-close="handleDialogClose"

我们在user弹窗中的取消方法中写的是

this.$emit('cancelClick')

所以在弹窗x按钮方法里同样这样写,这样在add弹窗中只需要处理一次即可。

Ubuntu 22.04蓝牙开关秒关?别慌,可能是这个Intel固件文件在搞鬼 本文深入解析Ubuntu 22.04蓝牙开关秒关问题,指出Intel固件文件缺失是常见原因,并提供详细修复方案。通过确认硬件型号、检查固件文件及智能替代方案,帮助用户快速解决蓝牙故障,提升系统稳定性。 阅读详情

相关推荐

Lenovo 拯救者15ISK硬件升级实战:从内存到固态硬盘的全面优化

本文详细介绍了为联想拯救者15ISK笔记本电脑进行硬件升级的完整实战指南。通过评估升级可行性,指导如何挑选兼容的内存条与NVMe固态硬盘,并提供详细的拆机安装步骤与系统安装避坑技巧。升级后,笔记本的开机速度、软件加载及多任务处理能力获得飞跃式提升,让老旧设备重获新生。

weixin_29310631的博客 557

elementui 弹窗遮罩问题;Message层级问题(被遮罩、弹窗遮住,设置层级;弹窗内容被遮罩遮挡)

解决弹窗内容被遮罩遮住、弹窗层级样式不够问题 情况一:弹窗层级样式不够。elementui文档上,Message板块有写到可以提供自定义class。通过自己设置类名,可以对其设置相关css属性。 情况二: 弹窗内容被遮罩遮住。

IT_dabai的博客 1万+

软考中级-系统集成项目管理工程师**的超详细知识点笔记。

软考中级系统集成项目管理工程师核心知识点摘要 综合知识:涵盖信息化基础(国家信息化六要素、信息系统开发方法)、系统集成特点(高技术性、团队协作)、IT服务管理(ITIL流程)、网络技术(OSI模型、TCP/IP)、信息安全(CIA三要素、加密技术)、软件工程(生命周期、测试类型)、面向对象分析与设计(UML图)、新一代信息技术(云计算、大数据、物联网)。 案例分析:聚焦项目管理十大知识领域,重点包括: 整体管理(项目章程、变更控制流程) 范围管理(WBS分解、需求跟踪矩阵) 进度管理

最爱で毛毛熊的博客 1990

element dialog弹出框层级错乱问题

需要加modal-append-to-body 默认为true,遮罩层是否插入至 body 元素上,若为 false,则遮罩层会插入至 Dialog 的父元素上。出现弹框层级错乱问题时可以modal-append-to-body是否设置为false了。为false时的HTML结构。为true时的HTML结构。

魏知非的博客 1952

Twin Builder CFD 示例:构建、验证和评估静态 ROM

通过我们构建、验证和评估静态 ROM 的综合指南,释放 Twin Builder CFD 的潜力。

jkh920184196的博客 1103

halcon3d点云补全方法

属于halcon实例中的内容,后面还接了一部分的匹配

Tianwen_running的博客 1231

解决element 弹窗屏幕变灰的问题(双层弹窗)(遮罩层问题)

新增按钮弹窗,新增按钮里需要选择部门,又一个弹窗,此时点第二个弹窗的时候页面会灰。model-append-to-body属性是是否让遮罩层插入body上面,如果为false,则遮罩层是在父元素身上的。

weixin_49376462的博客 8461

基于STM32L4XX、HAL库的ICM-42670-P姿态传感器驱动程序设计

sprintf(buffer, "温度: %.1f °C\r\n\r\n", sensor_data.temperature);sprintf(buffer, "陀螺仪: X=%.2f Y=%.2f Z=%.2f rad/s\r\n",sprintf(buffer, "加速度: X=%.2f Y=%.2f Z=%.2f m/s²\r\n",sprintf(buffer, "开始校准IMU,请保持传感器静止...\r\n");sprintf(buffer, "读取传感器数据失败\r\n");

zhusl6688的博客 642

elementui弹窗里面出弹窗有一层遮罩问题

当在 Element UI 的弹窗组件中打开另一个弹窗时,可能会出现多层遮罩的问题。这可能导致用户界面不友好,并且影响用户体验。

m0_47177307的博客 2016

蓝鸟四轴飞控系统C程序V3.0(基础版本)深度解读

2. 解析遥控通道数据(油门 / 横滚 / 俯仰 / 偏航),转换为标准化值(-1000~+1000);3. 封装PID初始化(PID_Init,配置KP/KI/KD、输出限幅、积分限幅);,包含姿态角(Attitude_Data.Roll/Pitch/Yaw)、角速度(Gyro_Data.X/Y/Z)、遥控值(RC_Data[0~5])、电池电压(Bat_Volt)、电机PWM值(Motor_PWM[0~3])、系统状态(Sys_State),校验和通过Check_Sum()函数计算;

搏博的专栏 344

【数据集】30 m地表温度LST数据集

【数据集】30 m地表温度LST数据集

WW、forever的博客 1130

element-ui 弹窗里面嵌套弹窗,解决第二个弹窗被遮罩层掩盖无法显示的问题

具体使用就是在第一个弹窗中设置 :modal-append-to-body="false" ,在第二个弹窗中设置 :append-to-body="true"我们可以把两个弹窗平级写在主页面中,并同时给2个弹窗设置 :append-to-body="true"这样就能实现我们想要的效果了。

锦瑟年华L的博客 6309

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

解决Element Plus中Select在El Dialog里层级过低的问题(修改select选项框样式)

在使用Element Plus的``组件时,很多情况下我们需要在对话框内部使用``组件,以提供用户选择的功能。然而,由于``会创建一个新的层级(z-index)上下文,而``默认的z-index值较低,可能导致下拉选项框被其他元素覆盖,无法正确显示。最近遇见了这个问题后通过查阅最终解决,特此分享.

kilig_CSM的博客 5348

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

弹窗的嵌套使用

情况一: 弹窗嵌套,A(点击预览图片)包含B(图片预览窗),那么B弹窗出来的效果会有一个蒙层,像这样,如何解决呢? 这涉及到一个参考嵌套弹窗的问题: <el-dialog :visible.sync="lookVisible" :title="title" append-to-body="true" width="550px" :close-on-click-modal="fal...

想去旅行的静静的博客 1369

element 弹框层级问题

《1》出现的问题 当你点击一个事件出现一个弹框后再点击弹框内的按钮 出现另一个弹框 但是最后出现的弹框会被上一个弹框覆盖 //添加append-to-body就可以个 <el-dialog append-to-body>

zzh990822的博客 2638

vue el-dialog 实现弹窗无限嵌套(点击弹窗弹出新的弹窗,可以一直点击)

创建文件夹 testDialog 文件夹 根据自己需要创建文件夹(这个是我用于演示的,根据自己项目自行创建就可以)要求点击数据展示弹窗,弹窗中数据点击显示新的弹窗,里面的弹窗还可以继续点击新的弹窗,可以无限制的嵌套弹窗。剩下两个文件按照这个自行创建即可 想无限制循环 最后一个文件的弹窗写到第一个 就可以无限制嵌套!原因:因为有些弹窗既是父弹窗又是子弹窗,所以使用的时候会报错,报一个循环嵌套错误。可以一直无限制的点击 无限制的嵌套。commonData.js 文件。

记录常见的问题以及解决办法 1万+

el-dialog 层级问题混乱

使用 element -UI 的弹窗时,一般来说弹窗的层级应该比较高,背景置灰。但是有时候控制台的z-index层级混乱,弹框并没有置顶。

天命爱心职责的博客 1811

解决 Element UI 嵌套弹窗的状态管理问题!!!

使用@Watch监听 prop 变化,而不是直接修改通过$emit向父组件通知状态变化使用$nextTick确保状态更新和 DOM 渲染的正确时序合理使用对象解构避免引用类型带来的问题添加确保组件完全重置通过这次问题的解决,我们不仅修复了具体的 bug,还总结出了一套处理 Vue 组件状态管理的最佳实践。这些经验对于开发复杂的前端应用都很有帮助。希望这篇文章能帮助遇到类似问题的开发者!如果你有任何问题或建议,欢迎在评论区讨论。💬#Vue #ElementUI #前端开发 #技术博客。

小丁的博客 1357

el-dialog对话框按钮在顶部操作

<el-dialog v-drag :visible.sync="showEditEquipGruop" top="3%" title="" width="40%" :show-close="false" :close-on-click-modal="false" fullscreen:false > <span slot="title" class="dialog-foot

weixin_41463944的博客 2079

ng-zorro组件库里使对话框Modal的确认取消按钮隐藏

写“查看”功能时,不想要这两个按钮 添加[nzFooter]=null就行 <nz-modal id="see" [(nzVisible)]="isVisible" nzTitle="标题" (nzOnCancel)="handleCancel()" [nzFooter]=null style="width:80%" >……</nz-modal> (nzOnC...

web 1968

【前端学习记录】el-dialog弹窗点击确定按钮关闭弹窗时的执行逻辑

element组件el-dialog踩坑学习

Note_creek的博客 3076

dialog弹窗关不掉 vue_elementUI弹窗之坑(dialog的遮罩层在弹出层的上面,子弹窗执行保存(确定)按钮之后还要执行取消按钮,Prop being mutated: "showTre...

本文主要解决elementUI弹窗嵌套中的坑,笔者在给同事解决难听过程看到了三个问题:弹窗套弹窗出现蒙层、弹窗套弹窗,子弹窗执行保存(确定)按钮之后还要执行取消按钮、弹窗自带关闭x按钮报错[Vue warn]: Avoid mutating a prop directly since the value will be overwritten whenever the parent compone...

weixin_30539747的博客 3716

element-ui 抽屉里面嵌套弹窗

element-ui 抽屉里面嵌套弹窗

锦瑟年华L的博客 2044

【vue】父页面按钮显示子组件中的el-dialog

1.父页面 <template> <div> <el-button type="primary" icon="el-icon-upload2" size="small" @click="openDialog" >导入</el-button> <uploadDialog ref="uploadDialog" :dialogVisible="dialo

王佑辉的博客 1539

elementui确认消息区分取消和关闭按钮

默认情况下,elementui的确认消息,取消按钮和右上角弹窗,走的是同一个方法,也就是catch方法的回调,如果功能上需要做区分,就没法区分了。所以,要解决这个问题,就需要在取消的回调方法里做一个判断,来区分是点击右上角的取消,还是点击的取消按钮。代码如下:

Let_me_tell_you的博客 3411

element ui中弹框右上角的关闭(叉号图标)与取消按钮的区别

dialog点击右上角的关闭按钮(即点击关闭图标或遮罩关闭 Dialog)–触发的方法:before-close。

下雨打伞干嘛的博客 2693
上一篇: elementUI表格中插入燃尽图,步骤条(假数据模拟)
下一篇: elementUI表格树动态合并列问题处理
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值