From 7f405f006da188d1d07653d6088617c37ad3b9a7 Mon Sep 17 00:00:00 2001 From: Tmk Date: Sat, 28 Nov 2020 12:47:11 +0800 Subject: [PATCH] fix: can not open in web component --- src/hooks/useSelectTriggerControl.ts | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/src/hooks/useSelectTriggerControl.ts b/src/hooks/useSelectTriggerControl.ts index e0261ddd8..15304e11f 100644 --- a/src/hooks/useSelectTriggerControl.ts +++ b/src/hooks/useSelectTriggerControl.ts @@ -14,12 +14,15 @@ export default function useSelectTriggerControl( React.useEffect(() => { function onGlobalMouseDown(event: MouseEvent) { - const target = event.target as HTMLElement; + let target = event.target as HTMLElement; + + if (target.shadowRoot && event.composed) { + target = (event.composedPath()[0] || target) as HTMLElement; + } + if ( propsRef.current.open && - propsRef.current.elements.every( - element => !element.contains(target) && element !== target, - ) + propsRef.current.elements.every(element => !element.contains(target) && element !== target) ) { // Should trigger close propsRef.current.triggerOpen(false);