11import type { BuildInPlacements } from '@rc-component/trigger/lib/interface' ;
2- import type { BaseSelectProps , BaseSelectPropsWithoutPrivate , BaseSelectRef } from '@rc-component/select' ;
2+ import type {
3+ BaseSelectProps ,
4+ BaseSelectPropsWithoutPrivate ,
5+ BaseSelectRef ,
6+ } from '@rc-component/select' ;
37import { BaseSelect } from '@rc-component/select' ;
48import type { DisplayValueType , Placement } from '@rc-component/select/lib/BaseSelect' ;
59import useId from '@rc-component/select/lib/hooks/useId' ;
@@ -143,6 +147,11 @@ export type GetValueType<
143147 ? ValueType < Required < OptionType > , ValueField > [ ]
144148 : ValueType < Required < OptionType > , ValueField > [ ] [ ] ;
145149
150+ export type GetOptionType <
151+ OptionType extends DefaultOptionType = DefaultOptionType ,
152+ Multiple extends boolean | React . ReactNode = false ,
153+ > = false extends Multiple ? OptionType [ ] : OptionType [ ] [ ] ;
154+
146155export interface CascaderProps <
147156 OptionType extends DefaultOptionType = DefaultOptionType ,
148157 ValueField extends keyof OptionType = keyof OptionType ,
@@ -153,7 +162,7 @@ export interface CascaderProps<
153162 defaultValue ?: GetValueType < OptionType , ValueField , Multiple > ;
154163 onChange ?: (
155164 value : GetValueType < OptionType , ValueField , Multiple > ,
156- selectOptions : OptionType [ ] ,
165+ selectOptions : GetOptionType < OptionType , Multiple > ,
157166 ) => void ;
158167}
159168
@@ -368,7 +377,6 @@ const Cascader = React.forwardRef<CascaderRef, InternalCascaderProps>((props, re
368377 // ============================ Open ============================
369378 const mergedOpen = open !== undefined ? open : popupVisible ;
370379
371-
372380 const mergedPlacement = placement || popupPlacement ;
373381
374382 const onInternalPopupVisibleChange = ( nextVisible : boolean ) => {
0 commit comments