From e4f79a7e36214e5836cb0e667b3ffbd3db45456d Mon Sep 17 00:00:00 2001 From: Ben Lin <maobin001@msn.com> Date: 星期二, 22 十月 2024 23:54:26 +0800 Subject: [PATCH] 工单变量删除优化,预览优化 --- src/components/SimpleMenu/src/components/MenuCollapseTransition.vue | 128 ++++++++++++++++++++---------------------- 1 files changed, 61 insertions(+), 67 deletions(-) diff --git a/src/components/SimpleMenu/src/components/MenuCollapseTransition.vue b/src/components/SimpleMenu/src/components/MenuCollapseTransition.vue index 5295439..0b9759c 100644 --- a/src/components/SimpleMenu/src/components/MenuCollapseTransition.vue +++ b/src/components/SimpleMenu/src/components/MenuCollapseTransition.vue @@ -3,76 +3,70 @@ <slot></slot> </transition> </template> -<script lang="ts"> - import { defineComponent } from 'vue'; - import { addClass, removeClass } from '/@/utils/domUtils'; +<script lang="ts" setup> + import { addClass, removeClass } from '@/utils/domUtils'; - export default defineComponent({ - name: 'MenuCollapseTransition', - setup() { - return { - on: { - beforeEnter(el) { - addClass(el, 'collapse-transition'); - if (!el.dataset) el.dataset = {}; + defineOptions({ name: 'MenuCollapseTransition' }); - el.dataset.oldPaddingTop = el.style.paddingTop; - el.dataset.oldPaddingBottom = el.style.paddingBottom; + const on = { + beforeEnter(el) { + addClass(el, 'collapse-transition'); + if (!el.dataset) el.dataset = {}; - el.style.height = '0'; - el.style.paddingTop = 0; - el.style.paddingBottom = 0; - }, + el.dataset.oldPaddingTop = el.style.paddingTop; + el.dataset.oldPaddingBottom = el.style.paddingBottom; - enter(el) { - el.dataset.oldOverflow = el.style.overflow; - if (el.scrollHeight !== 0) { - el.style.height = el.scrollHeight + 'px'; - el.style.paddingTop = el.dataset.oldPaddingTop; - el.style.paddingBottom = el.dataset.oldPaddingBottom; - } else { - el.style.height = ''; - el.style.paddingTop = el.dataset.oldPaddingTop; - el.style.paddingBottom = el.dataset.oldPaddingBottom; - } - - el.style.overflow = 'hidden'; - }, - - afterEnter(el) { - removeClass(el, 'collapse-transition'); - el.style.height = ''; - el.style.overflow = el.dataset.oldOverflow; - }, - - beforeLeave(el) { - if (!el.dataset) el.dataset = {}; - el.dataset.oldPaddingTop = el.style.paddingTop; - el.dataset.oldPaddingBottom = el.style.paddingBottom; - el.dataset.oldOverflow = el.style.overflow; - - el.style.height = el.scrollHeight + 'px'; - el.style.overflow = 'hidden'; - }, - - leave(el) { - if (el.scrollHeight !== 0) { - addClass(el, 'collapse-transition'); - el.style.height = 0; - el.style.paddingTop = 0; - el.style.paddingBottom = 0; - } - }, - - afterLeave(el) { - removeClass(el, 'collapse-transition'); - el.style.height = ''; - el.style.overflow = el.dataset.oldOverflow; - el.style.paddingTop = el.dataset.oldPaddingTop; - el.style.paddingBottom = el.dataset.oldPaddingBottom; - }, - }, - }; + el.style.height = '0'; + el.style.paddingTop = 0; + el.style.paddingBottom = 0; }, - }); + + enter(el) { + el.dataset.oldOverflow = el.style.overflow; + if (el.scrollHeight !== 0) { + el.style.height = el.scrollHeight + 'px'; + el.style.paddingTop = el.dataset.oldPaddingTop; + el.style.paddingBottom = el.dataset.oldPaddingBottom; + } else { + el.style.height = ''; + el.style.paddingTop = el.dataset.oldPaddingTop; + el.style.paddingBottom = el.dataset.oldPaddingBottom; + } + + el.style.overflow = 'hidden'; + }, + + afterEnter(el) { + removeClass(el, 'collapse-transition'); + el.style.height = ''; + el.style.overflow = el.dataset.oldOverflow; + }, + + beforeLeave(el) { + if (!el.dataset) el.dataset = {}; + el.dataset.oldPaddingTop = el.style.paddingTop; + el.dataset.oldPaddingBottom = el.style.paddingBottom; + el.dataset.oldOverflow = el.style.overflow; + + el.style.height = el.scrollHeight + 'px'; + el.style.overflow = 'hidden'; + }, + + leave(el) { + if (el.scrollHeight !== 0) { + addClass(el, 'collapse-transition'); + el.style.height = 0; + el.style.paddingTop = 0; + el.style.paddingBottom = 0; + } + }, + + afterLeave(el) { + removeClass(el, 'collapse-transition'); + el.style.height = ''; + el.style.overflow = el.dataset.oldOverflow; + el.style.paddingTop = el.dataset.oldPaddingTop; + el.style.paddingBottom = el.dataset.oldPaddingBottom; + }, + }; </script> -- Gitblit v1.9.3