最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

解決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,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪<BR>

正文

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

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

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的詳細(xì)內(nèi)容,更多關(guān)于element-ui el-drawer關(guān)閉優(yōu)化的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

最新評論

皋兰县| 离岛区| 彭阳县| 曲水县| 宜章县| 扎赉特旗| 京山县| 建水县| 历史| 常山县| 永城市| 东莞市| 德昌县| 镇安县| 淳化县| 中西区| 香港| 濮阳县| 改则县| 乌什县| 乌苏市| 义乌市| 贡觉县| 财经| 杨浦区| 灵宝市| 阳朔县| 丰镇市| 将乐县| 阿坝县| 成安县| 肥西县| 江安县| 元朗区| 依安县| 通道| 南靖县| 乌海市| 延寿县| 长岛县| 布拖县|