From 3b0077dc73772a460684b5ae5807c5bf511bd757 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E4=BA=88=E3=83=BE?= <59309934+wh-if@users.noreply.github.com> Date: Tue, 14 Mar 2023 17:06:25 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E4=BF=AE=E5=A4=8D=E6=B0=B4=E5=8D=B0?= =?UTF-8?q?=E9=87=8D=E5=A4=8D=E5=8F=A0=E5=8A=A0=E9=97=AE=E9=A2=98=20(#2622?= =?UTF-8?q?)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: whong --- src/hooks/web/useWatermark.ts | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/hooks/web/useWatermark.ts b/src/hooks/web/useWatermark.ts index a42b84b21..5840c149e 100644 --- a/src/hooks/web/useWatermark.ts +++ b/src/hooks/web/useWatermark.ts @@ -4,10 +4,15 @@ import { addResizeListener, removeResizeListener } from '/@/utils/event'; import { isDef } from '/@/utils/is'; const domSymbol = Symbol('watermark-dom'); +const sourceMap = new WeakMap(); export function useWatermark( appendEl: Ref = ref(document.body) as Ref, ) { + const appendElRaw = unref(appendEl); + if (appendElRaw && sourceMap.has(appendElRaw)) { + return sourceMap.get(appendElRaw); + } const func = useRafThrottle(function () { const el = unref(appendEl); if (!el) return; @@ -82,6 +87,7 @@ export function useWatermark( const { clientHeight: height, clientWidth: width } = el; updateWatermark({ str, width, height }); el.appendChild(div); + sourceMap.set(el, { setWatermark, clear }); return id; };