如何防止el-dialog点击空白不消失?

一、修改源代码

在el-dialog源代码中,我们可以找到click-outside事件的监听函数。

点击弹窗外面的区域弹窗消失,因此,我们可以在监听函数中添加一个判断条件,如果点击了弹窗内部的区域,则不关闭弹窗。

function handleWrapperClick() {
  if (this.closeOnClickModal && !this.closeOnPressEscape) {
    this.close();
  }
}

我们可以修改为:

function handleWrapperClick(evt) {
  const isClickInsideDialog = evt.target.closest('.el-dialog');
  if (this.closeOnClickModal && !this.closeOnPressEscape && !isClickInsideDialog) {
    this.close();
  }
}

这样就可以防止因为点击弹窗内部区域而误关闭弹窗了。

二、增加遮罩层

在el-dialog组件中,遮罩层是在弹窗后层上的蒙版,一般默认情况下,点击遮罩层可以关闭弹窗。如果希望防止因为误触遮罩层而关闭弹窗,则可以在组件中增加配置。

<el-dialog
  :visible.sync="dialogVisible"
  :close-on-click-modal="false">
  <span slot="title">这是标题</span>
  <p>这是内容</p>
</el-dialog>

在这里,我们将close-on-click-modal设置为false,这样点击遮罩层就不会关闭弹窗了。

三、手动关闭

除了修改源代码和增加遮罩层之外,我们也可以在代码中手动关闭弹窗,这样就可以避免误触而关闭了弹窗。比如,我们可以绑定一个方法到弹窗上面的关闭按钮上。

<el-dialog
  :visible.sync="dialogVisible"
  :close-on-click-modal="false">
  <span slot="title">这是标题</span>
  <p>这是内容</p>
  <div slot="footer">
    <el-button @click="closeDialog">关闭</el-button>
  </div>
</el-dialog>
methods: {
  closeDialog() {
    this.dialogVisible = false;
  }
}

这样就可以通过手动关闭的方式来防止误触关闭弹窗了。

原创文章,作者:小蓝,如若转载,请注明出处:https://www.506064.com/n/182437.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
小蓝小蓝
上一篇 2024-11-24 06:21
下一篇 2024-11-24 06:21

相关推荐

  • 打包后页面空白的解决方案

    当我们在调试阶段时,我们的app可能看起来完美无缺,但当我们进行打包时,在运行app时,我们可能会遇到白屏或空白的问题。在这篇文章中,我们将探讨如何解决这种问题。 一、检查文件路径…

    编程 2025-04-29
  • parent.$.dialog是什么技术的语法

    parent.$.dialog是一种基于jQuery插件的弹出式对话框技术,它提供了一个方便快捷的方式来创建各种类型和样式的弹出式对话框。它是对于在网站开发中常见的弹窗、提示框等交…

    编程 2025-04-28
  • 如何防止Python培训骗局

    Python这门语言被誉为是一门容易学习但却功能强大的编程语言,受到了越来越多人的追捧和关注。但是,Python市场上还是存在一些不良的培训机构和骗局,下面从多个方面探讨如何防止P…

    编程 2025-04-28
  • Python输出空白缺少类

    Python是一种高级编程语言,它被广泛应用于Web应用程序开发、数据库管理、网络自动化等方面,在各行各业中占据着重要的地位。但是,有时候在Python编程中,我们会遇到输出空白缺…

    编程 2025-04-27
  • Python删除字符串开头和末尾的空白

    本文将对使用Python删除字符串开头和末尾的空白进行详细的阐述。 一、strip()函数简介 strip()函数是Python字符串中常用的函数之一,它可以用于删除字符串开头和末…

    编程 2025-04-27
  • MyBatis如何防止SQL注入

    MyBatis是一款开源的持久层框架,它可以简化Java应用程序中的数据持久化过程,并提供了许多有用的功能。然而,安全问题一直是Web应用程序的一大挑战,其中最严重的问题之一是SQ…

    编程 2025-04-25
  • EL-Button 点击事件全方位解析

    一、基本概念 EL-Button 是饿了么 UI 组件库中的一个按钮组件,具有多种类型和样式。 二、点击事件绑定 为 EL-Button 组件绑定点击事件,可以使用 v-on 指令…

    编程 2025-04-23
  • 深度解析el-checkbox-group

    一、el-checkbox-group插槽 在使用el-checkbox-group时,我们可以通过插槽来自定义每个checkbox的内容。例如: 上海 北京 广州 深圳 {{ o…

    编程 2025-04-23
  • el-upload上传文件大小限制详解

    一、上传文件大小的问题 上传文件大小是很多开发者在使用el-upload组件时需要考虑的问题。一个应用程序实现上传功能时,需要对上传的内容的大小和数量进行精细控制,这是高效和安全的…

    编程 2025-04-23
  • 如何防止Java数组越界异常

    一、了解数组越界异常 在Java编程中,数组是一种常见的数据结构,可以保存一组具有相同数据类型的元素。但是,当我们尝试访问数组中不存在的元素时,就会抛出数组越界异常。这是一种常见的…

    编程 2025-04-18

发表回复

登录后才能评论