@@ -2,9 +2,9 @@ import Portal from '@rc-component/portal';
22import { clsx } from 'clsx' ;
33import type { CSSMotionProps } from '@rc-component/motion' ;
44import { useResizeObserver } from '@rc-component/resize-observer' ;
5- import { isDOM } from '@rc-component/util/lib/Dom/findDOMNode' ;
5+ import { getDOM , isDOM } from '@rc-component/util/lib/Dom/findDOMNode' ;
66import { getShadowRoot } from '@rc-component/util/lib/Dom/shadow' ;
7- import { useComposeRef } from '@rc-component/util/lib/ref' ;
7+ import { getNodeRef , useComposeRef } from '@rc-component/util/lib/ref' ;
88import useEvent from '@rc-component/util/lib/hooks/useEvent' ;
99import useId from '@rc-component/util/lib/hooks/useId' ;
1010import useLayoutEffect from '@rc-component/util/lib/hooks/useLayoutEffect' ;
@@ -262,9 +262,11 @@ export function generateTrigger(
262262 const externalForwardRef = React . useRef < HTMLElement > ( null ) ;
263263
264264 const setTargetRef = useEvent ( ( node : HTMLElement ) => {
265- if ( isDOM ( node ) && targetEle !== node ) {
266- setTargetEle ( node ) ;
267- externalForwardRef . current = node ;
265+ const domNode = getDOM ( node ) as HTMLElement ;
266+
267+ if ( isDOM ( domNode ) && targetEle !== domNode ) {
268+ setTargetEle ( domNode ) ;
269+ externalForwardRef . current = domNode ;
268270 }
269271 } ) ;
270272
@@ -789,13 +791,13 @@ export function generateTrigger(
789791 useResizeObserver ( mergedOpen , targetEle , onTargetResize ) ;
790792
791793 // Compose refs
792- const mergedRef = useComposeRef ( setTargetRef , ( child as any ) . ref ) ;
794+ const mergedRef = useComposeRef ( setTargetRef , getNodeRef ( child ) ) ;
793795
794796 // Child Node
795797 const triggerNode = React . cloneElement ( child , {
796- ref : mergedRef ,
797798 ...mergedChildrenProps ,
798799 ...passedProps ,
800+ ref : mergedRef ,
799801 } ) ;
800802
801803 // Render
0 commit comments