From 7a04a34b79522dbd4eec5d2c1d82d56ef536f019 Mon Sep 17 00:00:00 2001 From: pupu Date: Wed, 27 Jul 2022 14:09:23 +0800 Subject: [PATCH] fix(hooks): [use-escape-keydown] fix memory leak (#8005) (#8060) --- packages/hooks/use-escape-keydown/index.ts | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/packages/hooks/use-escape-keydown/index.ts b/packages/hooks/use-escape-keydown/index.ts index 92b37501aa..4359edd5ab 100644 --- a/packages/hooks/use-escape-keydown/index.ts +++ b/packages/hooks/use-escape-keydown/index.ts @@ -4,16 +4,16 @@ import { EVENT_CODE } from '@element-plus/constants' let registeredEscapeHandlers: ((e: KeyboardEvent) => void)[] = [] -export const useEscapeKeydown = (handler: (e: KeyboardEvent) => void) => { - const cachedHandler = (e: Event) => { - const event = e as KeyboardEvent - if (event.key === EVENT_CODE.esc) { - registeredEscapeHandlers.forEach((registeredHandler) => - registeredHandler(event) - ) - } +const cachedHandler = (e: Event) => { + const event = e as KeyboardEvent + if (event.key === EVENT_CODE.esc) { + registeredEscapeHandlers.forEach((registeredHandler) => + registeredHandler(event) + ) } +} +export const useEscapeKeydown = (handler: (e: KeyboardEvent) => void) => { onMounted(() => { if (registeredEscapeHandlers.length === 0) { document.addEventListener('keydown', cachedHandler)