From 6edb184450ae79ccfd5c4b6cf6aac2956a863041 Mon Sep 17 00:00:00 2001 From: duoduoObama <30836806+duoduoObama@users.noreply.github.com> Date: Tue, 4 Jul 2023 14:31:54 +0800 Subject: [PATCH] Update index.ts Compatible with shadow dom --- packages/core/useActiveElement/index.ts | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/packages/core/useActiveElement/index.ts b/packages/core/useActiveElement/index.ts index 4976bfb3448..bfce2ad83da 100644 --- a/packages/core/useActiveElement/index.ts +++ b/packages/core/useActiveElement/index.ts @@ -14,9 +14,16 @@ export interface UseActiveElementOptions extends ConfigurableWindow, Configurabl export function useActiveElement(options: UseActiveElementOptions = {}) { const { window = defaultWindow } = options const document = options.document ?? window?.document + const getDeepestActiveElement = () => { + let element = document?.activeElement; + while (element?.shadowRoot) { + element = element?.shadowRoot?.activeElement; + } + return element; + }; const activeElement = computedWithControl( () => null, - () => document?.activeElement as T | null | undefined, + () => getDeepestActiveElement() as T | null | undefined, ) if (window) {