百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术教程 > 正文

Element Plus 的 Dialog 组件实现点击遮罩层不关闭对话框

suiw9 2024-10-23 18:46 224 浏览 0 评论

Element Plus 的 Dialog 组件默认情况下,点击遮罩层(即背景蒙版)会关闭对话框。然而,你可以通过修改组件的 close-on-click-modal 属性来改变这个行为。

如果你想要实现点击遮罩层不关闭 Dialog,你需要将 close-on-click-modal 属性设置为 false。这可以在组件的局部设置中进行,也可以全局配置。

局部设置

在 Dialog 组件的模板中,直接添加 :close-on-click-modal="false":

<el-dialog  
  :visible.sync="dialogVisible"  
  :close-on-click-modal="false"  
  width="50%">  
  <!-- 对话框内容 -->  
</el-dialog>

全局配置

如果你希望所有 Dialog 组件都默认拥有这个行为,你可以通过全局配置来实现。在 Vue 应用的入口文件(通常是 main.js 或 main.ts)中,配置 Element Plus 并修改 ElDialog 组件的默认属性:

import { createApp } from 'vue';  
import ElementPlus from 'element-plus';  
import 'element-plus/lib/theme-chalk/index.css';  
import App from './App.vue';  
  
const app = createApp(App);  
  
app.use(ElementPlus);  
  
// 全局配置 Dialog 组件,使得点击遮罩层不关闭弹窗  
app.config.globalProperties.$ELEMENT = {  
  size: 'small', // 其他全局配置...  
  zIndex: 3000 // 其他全局配置...  
};  
  
// 修改 ElDialog 组件的 closeOnClickModal 属性的默认值  
app._context.components.ElDialog.props.closeOnClickModal.default = false;  
  
app.mount('#app');

请注意,直接修改 app._context.components.ElDialog.props.closeOnClickModal.default 并不是官方推荐的做法,因为这涉及到对 Vue 内部状态的直接操作,未来 Vue 或 Element Plus 的更新可能会导致此方法失效。不过,在 Element Plus 的当前版本中,这是一个可行的方法。

更好的方式是使用 Element Plus 的自定义主题功能或者等待 Element Plus 官方提供更为正式的全局配置 API。同时,也要关注 Element Plus 的更新日志,以便及时调整你的代码。

如果你发现你的 Dialog 组件在设置了 close-on-click-modal="false" 后仍然会在点击遮罩层时关闭,可能是因为你的项目中存在其他代码或插件影响了这个行为。这时,你需要检查你的项目代码,确保没有其他地方在修改这个属性,或者查看是否有其他事件监听器在监听遮罩层的点击事件并触发了关闭操作。

相关推荐

谁说 Vim 不好用?送你一个五彩斑斓的编辑器!

相信大家在使用各种各样强大的IDE写代码时都会注意到,代码中各种类型的关键字会用独特的颜色标记出来,然后形成一套语法高亮规则。这样不仅美观,而且方便代码的阅读。而在上古神器Vim中,我们通常看...

Python 基础教程 九之cron定时执行python脚本

前言在Linux或Unix系统中,你可以使用cron任务来定时执行Python脚本。cron是一个基于时间的作业调度器,允许你安排命令或脚本在系统上自动执行。...

RK3588主板Ubuntu 22.04固件刷机后需要进行哪些操作?

RK3588主板Ubuntu22.04固件刷机完成后,您需要进行以下操作:1、验证固件版本:确认您刷入的Ubuntu22.04固件版本是否正确,并且系统正常运行。...

Ubuntu16.04搭建VNC Server远程桌面服务器

1.前言本文主要讲解Ubuntu16.04怎么安装VNCServer远程桌面服务器。VNC全称为VirtualNetworkComputing(虚拟网络计算)是一种图形化桌面共享工具,允许...

开源&amp;Docker:何必nextcloud,新晋神级私人云盘,在线office编辑

本内容来源于@什么值得买APP,观点仅代表作者本人|作者:可爱的小cherry前言大家好,这里是可爱的Cherry。...

Ubuntu系统,常用命令、IP配置等教程

Ubuntu系统常用命令与IP配置教程一、常用命令在Ubuntu系统中,掌握一些常用的命令对于日常操作非常重要,以下是常见的命令及其用法说明:1.ls—列出当前目录内容...

Ubuntu 24.10安装体验(ubuntu 20.04.1安装教程)

内核版本...

Zed编辑器:Rust之力,Linux之翼,VS Code劲敌新篇章

Zed是一款支持多人协作...

如何在Ubuntu系统中进行系统级的代理设置

Ubuntu系统级代理设置步骤详解在Ubuntu系统中进行系统级的代理设置是一种常见的网络配置方式,尤其适用于需要通过代理访问互联网的场景。通过配置代理,你可以让系统中的所有应用程序(如浏览器、终端、...

Linux Vim文本编辑器(linux用vi编辑文本)

在使用Linux操作系统的过程中,经常需要对文本文件进行操作,如新建、编辑等,常用的方法有以下几种:...

从零入门Linux(五)文本编辑器(linux好用的文本编辑器)

Linux系统提供了多种文本编辑器,每种编辑器都有其独特的功能和使用场景。以下按功能和复杂程度分类介绍:1.简单文本编辑器...

照片选择器,使用简单,几行代码就可以完成集成

照片选择器,使用简单,几行代码就可以完成集成来源:极客头条用于发表图片时候选择相册图片和拍照这样的需求,虽然网上也有很多类似的控件,写的挺不错的,但是深入使用就有些问题,还是自己写算了;网上的一些轮...

探索iOS 9适配(iphone适配)

CSDN移动将持续为您优选移动开发的精华内容,共同探讨移动开发的技术热点话题,涵盖移动应用、开发工具、移动游戏及引擎、智能硬件、物联网等方方面面。如果您想投稿,或寻求《近匠》报道,请发送邮件至tang...

“旅行者”回望30载 一点淡蓝“焕新颜”

据美国国家航空航天局(NASA)网站12日报道,为纪念著名的“暗淡蓝点”(PaleBlueDot)照片问世30周年,NASA重新制作了这张照片,使其“焕新颜”,NASA喷气推进实验室于近日发布了新...

「底层技术原理体系」深入探索Java服务器性能监控Metrics框架

承接上文承接上文中的【深度挖掘Java性能调优】「底层技术原理体系」深入探索Java服务器性能监控Metrics框架的实现原理分析(Counter篇),我们知道和了解了对应的Counter计数器的作用...

取消回复欢迎 发表评论: