@@ -134,29 +134,21 @@ const Dropdown = React.forwardRef<TriggerRef, DropdownProps>((props, ref) => {
134134 return `${ prefixCls } -open` ;
135135 } ;
136136
137- const child = children as React . ReactNode ;
138- const validChild = React . isValidElement < { className ?: string } > ( child ) ;
139- const elementChild = validChild ? child : null ;
137+ const elementChild = children as React . ReactElement <
138+ React . HTMLAttributes < HTMLElement >
139+ > ;
140140 const childClassName = clsx (
141- elementChild ? .props . className ,
141+ elementChild . props ? .className ,
142142 mergedVisible && getOpenClassName ( ) ,
143143 ) ;
144144 const triggerChildProps : React . HTMLAttributes < HTMLElement > &
145145 React . RefAttributes < HTMLElement > = {
146146 className : childClassName ,
147- ref : composeRef ( childRef , elementChild && getNodeRef ( elementChild ) ) ,
147+ ref : composeRef ( childRef , getNodeRef ( elementChild ) ) ,
148148 } ;
149- const fallbackChild = elementChild
150- ? React . cloneElement (
151- elementChild as React . ReactElement < React . HTMLAttributes < HTMLElement > > ,
152- {
153- className : childClassName ,
154- } ,
155- )
156- : child ;
157149
158150 const childrenNode =
159- elementChild && supportRef ( elementChild ) ? (
151+ supportRef ( elementChild ) ? (
160152 React . cloneElement (
161153 elementChild as React . ReactElement <
162154 React . HTMLAttributes < HTMLElement > & React . RefAttributes < HTMLElement >
@@ -165,7 +157,9 @@ const Dropdown = React.forwardRef<TriggerRef, DropdownProps>((props, ref) => {
165157 )
166158 ) : (
167159 < span className = { childClassName } ref = { childRef } >
168- { fallbackChild }
160+ { React . cloneElement ( elementChild , {
161+ className : childClassName ,
162+ } ) }
169163 </ span >
170164 ) ;
171165
0 commit comments