Pārlūkot izejas kodu

bug fix: 31538 (省博沉浸-移动端)所有的下拉列表只能点击下拉按钮才能收起

任一存 2 gadi atpakaļ
vecāks
revīzija
0547270fea

+ 16 - 37
code/src/utils/fns/ClickOutSide.js

@@ -1,41 +1,20 @@
-let nodeList = {}
-
-function createDocumentHandler(el, binding) {
-    return function (e) {
-        const target = e.target
-        if (el.contains(target)) {
-            return false
-        }
-        // if (binding.arg) {
-            binding.value(e)
-        // }
-    }
-}
-
-const handler = e => {
-
-    const { documentHandler } = nodeList
-    if (documentHandler) {
-        documentHandler(e)
-    }
-}
-
-window.addEventListener('click', handler)
-
 const ClickOutSide = {
-    beforeMount(el, binding) {
-        nodeList = {
-            documentHandler: createDocumentHandler(el, binding),
-        }
-    },
-    updated(el, binding) {
-        nodeList = {
-            documentHandler: createDocumentHandler(el, binding),
-        }
-    },
-    unmounted() {
-        window.removeEventListener('click', handler)
-    },
+  beforeMount(el, binding) {
+    function documentHandler(e) {
+      if (el.contains(e.target)) {
+        return false
+      }
+      binding.value(e)
+    }
+    el.__vueClickOutside__ = documentHandler
+    document.addEventListener('click', documentHandler)
+  },
+  updated(el, binding) {
+  },
+  unmounted(el) {
+    document.removeEventListener('click', el.__vueClickOutside__)
+    delete el.__vueClickOutside__
+  },
 }
 
 export default ClickOutSide

+ 2 - 0
code/src/views/exhibition/exhibition/mobile/permanent.vue

@@ -114,6 +114,8 @@ onMounted(() => {
         label: item.name,
         value: item.id
       }
+    }).filter(item => {
+      return item.name !== '广东省博物馆'
     })
     if (!props.currentMuseumItem) {
       currentMuseum.value = museumList.value[0].value