如何防止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/zh-hk/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

發表回復

登錄後才能評論