当前位置: 首页 > news >正文

【如何设置Element UI的Dialog弹窗允许点击背景内容】

如何设置Element UI的Dialog弹窗允许点击背景内容

Element UI的Dialog组件默认会阻止用户与背景内容的交互。本文介绍一种简单方法来实现打开弹窗的同时仍能操作背景页面内容的功能。

实现方法

1. HTML结构

首先,需要在el-dialog上设置modal-class属性:

<template>
  <div>
    <el-dialog
      :modal="false"
      width="450px"
      title="弹窗标题"
      modal-class="my-dialog-modal"
      :visible.sync="dialogVisible"
      :close-on-click-modal="false"
      @open="handleOpen"
    >
      <!-- 弹窗内容 -->
    </el-dialog>
  </div>
</template>

2. CSS设置(关键部分)

在样式中,使用如下结构(注意不需要scoped):

<style lang="less">
.当前页面组件名 {
  .my-dialog-modal {
    pointer-events: none;
    
    :deep(.el-dialog) {
      pointer-events: auto;
    }
  }
}
</style>

例如,如果你的组件名为CustomPage,则样式应为:

<style lang="less">
.custom-page {
  .my-dialog-modal {
    pointer-events: none;
    
    :deep(.el-dialog) {
      pointer-events: auto;
    }
  }
}
</style>

3. 重要属性说明

  • :modal="false" - 设置为false,不显示遮罩层
  • modal-class="my-dialog-modal" - 为弹窗的外层容器指定类名
  • :close-on-click-modal="false" - 防止点击空白处关闭弹窗

4. 注意事项

  • 不要添加append-to-body属性
  • 样式文件中不使用scoped,确保样式能正确应用
  • 确保组件名和modal-class名称匹配你的实际应用

工作原理

通过CSS的pointer-events属性控制鼠标事件:

  • 对Dialog的外层容器设置pointer-events: none使其不响应鼠标事件
  • 对Dialog本身设置pointer-events: auto恢复其鼠标事件响应能力

这样,用户既可以与弹窗交互,又能操作弹窗背后的页面内容。

参考链接


文章转载自:
http://array.jopebe.cn
http://axeman.jopebe.cn
http://brazier.jopebe.cn
http://blockboard.jopebe.cn
http://backscratcher.jopebe.cn
http://cargo.jopebe.cn
http://choriocarcinoma.jopebe.cn
http://anglicise.jopebe.cn
http://aquiherbosa.jopebe.cn
http://arthrodesis.jopebe.cn
http://blooming.jopebe.cn
http://auditor.jopebe.cn
http://alkaline.jopebe.cn
http://caparison.jopebe.cn
http://bladderworm.jopebe.cn
http://amphipath.jopebe.cn
http://aerocraft.jopebe.cn
http://accessorial.jopebe.cn
http://blackbuck.jopebe.cn
http://arisen.jopebe.cn
http://betide.jopebe.cn
http://aptitude.jopebe.cn
http://agami.jopebe.cn
http://aegisthus.jopebe.cn
http://ahithophel.jopebe.cn
http://acidophil.jopebe.cn
http://betamethasone.jopebe.cn
http://appoggiatura.jopebe.cn
http://ballyhoo.jopebe.cn
http://bmd.jopebe.cn
http://www.dtcms.com/a/111435.html

相关文章:

  • Linux系统之wc命令的基本使用
  • 华为高斯(GaussDB) 集中式数据库 的开发技术手册,涵盖核心功能、开发流程、优化技巧及常见问题解决方案
  • 深度学习数据集划分比例多少合适
  • Linux make 检查依赖文件更新的原理
  • PyTorch张量
  • Opencv计算机视觉编程攻略-第九节 检测兴趣点
  • Linux systemd 服务全面详解
  • SQL语句(三)—— DQL
  • 详解AI采集框架Crawl4AI,打造智能网络爬虫
  • poetry安装
  • Transformer+BO-SVM时间序列预测(Matlab)
  • 第十五届蓝桥杯大赛软件赛省赛Python 大学 C 组:5.回文数组
  • 系统分析师-前6章总结
  • STM32单片机入门学习——第14节: [6-2] 定时器定时中断定时器外部时钟
  • PGSQL 对象创建函数生成工具
  • RSA和ECC在密钥长度相同的情况下哪个更安全?
  • 深度学习中的 Batch 机制:从理论到实践的全方位解析
  • AcWing 6118. 蛋糕游戏
  • Ubuntu安装Podman教程
  • Spring 核心技术解析【纯干货版】- XXI:Spring 第三方工具整合模块 Spring-Context-Suppor 模块精讲
  • 《古龙群侠传》游戏秘籍
  • 【 <二> 丹方改良:Spring 时代的 JavaWeb】之 Spring Boot 中的监控:使用 Actuator 实现健康检查
  • 【spring cloud Netflix】Eureka注册中心
  • 关于uint8_t、uint16_t、uint32_t、uint64_t的区别与分析
  • Linux(2025.3.15)
  • 安装 TabbyAPI+Exllamav2 和 vLLM 的详细步骤
  • 前后端通信指南
  • C# Winform 入门(7)之简单的抽奖系统邮件
  • #管理Node.js的多个版本
  • 虚拟现实 UI 设计:打造沉浸式用户体验