欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

解決element-ui?el-drawer抽屜el-dialog彈框關(guān)閉優(yōu)化demo

 更新時間:2023年06月29日 09:37:02   作者:圍_城  
這篇文章主要為大家介紹了解決element-ui?el-drawer抽屜el-dialog彈框關(guān)閉優(yōu)化demo,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪<BR>

正文

鼠標點在彈框上沒有放開,然后又移出到外面的遮罩上,這個時候還是觸發(fā)了遮罩的點擊事件

創(chuàng)建這樣的指令然后在 el-dialog 或 el-drawer 標簽上使用就可以了

import Vue from 'vue'
Vue.directive('move-outside', {
  bind(el, binding, vnode) {
    // 通過事件委托綁定到共同父級元素上
    el.addEventListener('mousedown', handleMouseDown)
    /**
     * 點擊事件
     * @param event
     */
    function handleMouseDown(event) {
      const target = event.target
      const drawerWrapper = target.closest('.el-drawer__wrapper')
      const dialogWrapper = target.closest('.el-dialog__wrapper')
      // 抽屜
      if (drawerWrapper) {
        handleMoveOutsideDrawer(drawerWrapper, target)
        // 彈框
      } else if (dialogWrapper) {
        handleMoveOutsideDialog(dialogWrapper, target)
      }
    }
    function handleMoveOutsideDrawer(wrapper, target) {
      // 獲取el-drawer元素
      const drawer = wrapper.querySelector('.el-drawer')
      // 判斷是否點擊在元素之外
      if (drawer && !drawer.contains(target)) {
        // 執(zhí)行原有邏輯
        if (!vnode.componentInstance.wrapperClosable) return
        vnode.componentInstance.closeDrawer()
      }
    }
    function handleMoveOutsideDialog(wrapper, target) {
      // 獲取 el-dialog元素
      const dialog = wrapper.querySelector('.el-dialog')
      // 判斷是否點擊在元素之外
      if (dialog && !dialog.contains(target)) {
        // 執(zhí)行原有邏輯
        if (!vnode.componentInstance.closeOnClickModal) return
        vnode.componentInstance.handleClose()
      }
    }
    // 清空原組件點擊事件
    vnode.componentInstance.handleWrapperClick = () => {}
  }
})

以上就是解決element-ui el-drawer抽屜el-dialog彈框關(guān)閉優(yōu)化demo的詳細內(nèi)容,更多關(guān)于element-ui el-drawer關(guān)閉優(yōu)化的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • Vue.js tab實現(xiàn)選項卡切換

    Vue.js tab實現(xiàn)選項卡切換

    這篇文章主要為大家詳細介紹了Vue.js組件tab實現(xiàn)選項卡切換效果,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-05-05
  • vue $attrs的使用全面解析

    vue $attrs的使用全面解析

    這篇文章主要介紹了vue $attrs的使用全面解析,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-04-04
  • 詳解如何使用webpack在vue項目中寫jsx語法

    詳解如何使用webpack在vue項目中寫jsx語法

    本篇文章主要介紹了詳解如何使用webpack在vue項目中寫jsx語法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-11-11
  • 在elementui中Notification組件添加點擊事件實例

    在elementui中Notification組件添加點擊事件實例

    這篇文章主要介紹了在elementui中Notification組件添加點擊事件實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-11-11
  • Vue.js中的全局錯誤處理函數(shù)errorHandler用法

    Vue.js中的全局錯誤處理函數(shù)errorHandler用法

    這篇文章主要介紹了Vue.js中的全局錯誤處理函數(shù)errorHandler用法,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-06-06
  • vue3中使用swiper及遇到的問題解析

    vue3中使用swiper及遇到的問題解析

    這篇文章主要介紹了vue3中使用swiper及遇到的問題,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2023-04-04
  • vue中預覽zip的實現(xiàn)示例

    vue中預覽zip的實現(xiàn)示例

    打包壓縮成zip的東西,再解壓,很麻煩,本文主要介紹了vue中預覽zip的實現(xiàn)示例,具有一定的參考價值,感興趣的可以了解一下
    2023-09-09
  • vue2.0自定義指令示例代碼詳解

    vue2.0自定義指令示例代碼詳解

    指令通常以"v-"作為前綴, 以方便Vue知道你在使用一種特殊的標記。這篇文章主要介紹了vue2.0自定義指令的實例代碼,非常不錯,具有一定的參考借鑒價值,需要的朋友可以參考下
    2019-04-04
  • vue項目中使用particles實現(xiàn)粒子背景效果及遇到的坑(按鈕沒有點擊響應)

    vue項目中使用particles實現(xiàn)粒子背景效果及遇到的坑(按鈕沒有點擊響應)

    為了提高頁面展示效果,登錄界面內(nèi)容比較單一的,粒子效果作為背景經(jīng)常使用到,vue工程中利用vue-particles可以很簡單的實現(xiàn)頁面的粒子背景效果,本文給大家分享在實現(xiàn)過程中遇到問題,需要的朋友一起看看吧
    2020-02-02
  • Vue3使用vue-router如何實現(xiàn)路由跳轉(zhuǎn)與參數(shù)獲取

    Vue3使用vue-router如何實現(xiàn)路由跳轉(zhuǎn)與參數(shù)獲取

    這篇文章主要介紹了Vue3使用vue-router如何實現(xiàn)路由跳轉(zhuǎn)與參數(shù)獲取,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-03-03

最新評論