From 9494ed79a3dee9c0bd4ee5acc465f39e8530ccaf Mon Sep 17 00:00:00 2001 From: roymondchen Date: Thu, 15 Aug 2024 14:43:30 +0800 Subject: [PATCH] =?UTF-8?q?feat(uitls):=20=E5=8F=AA=E6=98=AF=E8=87=AA?= =?UTF-8?q?=E5=AE=9A=E4=B9=89dsl=E4=B8=8Edom=20el=E7=9A=84=E5=85=B3?= =?UTF-8?q?=E8=81=94=E5=85=B3=E7=B3=BB=E5=87=BD=E6=95=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- packages/design/src/Popover.vue | 1 - packages/utils/src/dom.ts | 29 ++++++++++++++++++++++------- 2 files changed, 22 insertions(+), 8 deletions(-) diff --git a/packages/design/src/Popover.vue b/packages/design/src/Popover.vue index 7c6d66a5..9bee8834 100644 --- a/packages/design/src/Popover.vue +++ b/packages/design/src/Popover.vue @@ -46,7 +46,6 @@ const popoverVisible = ref(false); const visibleWatch = watch( () => props.visible, (visible) => { - console.log(visible); if (typeof visible === 'undefined') { nextTick(() => { visibleWatch(); diff --git a/packages/utils/src/dom.ts b/packages/utils/src/dom.ts index 55cb4e24..b9bec309 100644 --- a/packages/utils/src/dom.ts +++ b/packages/utils/src/dom.ts @@ -123,11 +123,26 @@ export const calcValueByFontsize = (doc: Document | undefined, value: number) => return value; }; -export const getIdFromEl = () => (el?: HTMLElement | SVGElement | null) => el?.dataset?.tmagicId; - -export const getElById = () => (doc?: Document, id?: string | number) => - doc?.querySelector(`[data-tmagic-id=${id}]`) as HTMLElement; - -export const setIdToEl = () => (el: HTMLElement | SVGElement, id: string | number) => { - el.dataset.tmagicId = `${id}`; +const dslDomRelateConfig = { + getIdFromEl: (el?: HTMLElement | SVGElement | null) => el?.dataset?.tmagicId, + getElById: (doc?: Document, id?: string | number) => doc?.querySelector(`[data-tmagic-id="${id}"]`) as HTMLElement, + setIdToEl: (el: HTMLElement | SVGElement, id: string | number) => { + el.dataset.tmagicId = `${id}`; + }, }; + +export const setDslDomRelateConfig = < + K extends keyof typeof dslDomRelateConfig, + T extends (typeof dslDomRelateConfig)[K], +>( + name: K, + value: T, +) => { + dslDomRelateConfig[name] = value; +}; + +export const getIdFromEl = () => dslDomRelateConfig.getIdFromEl; + +export const getElById = () => dslDomRelateConfig.getElById; + +export const setIdToEl = () => dslDomRelateConfig.setIdToEl;