popupPlacement | 'top' | 'top-start' | 'top-end' | 'bottom' | 'bottom-start' | 'bottom-end' | 'left' | 'left-start' | 'left-end' | 'right' | 'right-start' | 'right-end' | — | Placement relative to the trigger. |
popupClassName | string | — | Custom class for the popup. |
popupStyle | CSSProperties | — | Custom popup styles. |
popupRender | (content: React.ReactNode) => React.ReactNode | — | Wrap or extend popup content; retain the supplied content to preserve interaction. |
getPopupContainer | () => Element | DocumentFragment | — | Return a popup container, including a ShadowRoot. |
options | readonly CascaderOption[] | Required | Required. Hierarchical options |
size | 'sm' | 'md' | 'lg' | 'md' | Control size |
status | 'error' | 'warning' | — | Validation appearance |
placeholder | string | Locale default | Placeholder when empty; localized by ConfigProvider |
name | string | — | Field name / associated form ID |
required | boolean | false | Require a non-empty value; compound controls validate once. |
allowClear | boolean | true | Clearing returns two empty arrays |
onOpenChange | (open: boolean) => void | — | Panel open-state changes |
open | boolean | — | Control whether the panel is open. |
defaultOpen | boolean | — | Initial open state. |
readOnly | boolean | — | Lock the value against typing, selection, clearing and removal. |
showSearch | boolean | — | Enable search input. |
changeOnSelect | boolean | — | Allow selecting intermediate levels. |
displayRender | (labels: ReactNode[], selectedOptions: CascaderOption[]) => ReactNode | — | Customize displayed paths. |
optionRender | (option: CascaderOption) => ReactNode | — | Customize option content. |
loadData | (option: CascaderOption, signal: AbortSignal) => Promise<readonly CascaderOption[]> | — | Load child nodes asynchronously and respect AbortSignal. |
onLoadError | (error: unknown, option: CascaderOption) => void | — | Called on loading failure, for retry feedback. |
cacheKey | string | number | — | Changing the data version clears lazy caches and cancels stale requests. |
tagWrap | boolean | true | Allow selected tags to wrap; false keeps one line and collapses overflow. |
maxTagCount | number | 'responsive' | — | Maximum visible tags; responsive collapses them to the available width. |
multiple | false | true | false | Enable multiple selection; value and callback types change accordingly. |
value | readonly string[] | readonly (readonly string[])[] | Required | Value; unique at the same level |
defaultValue | readonly string[] | readonly (readonly string[])[] | [] | Controlled path / initial uncontrolled path |
onChange | ((value: string[], selectedOptions: CascaderOption[]) => void) | ((value: string[][], selectedOptions: CascaderOption[][]) => void) | — | Runs when a leaf is selected or the path is cleared |
disabled | boolean | false | Disable interaction. |
form | string | — | ID of the associated native form. |
ref | Ref<HTMLButtonElement> | — | DOM reference |
children | readonly CascaderOption[] | — | Content, or child nodes for hierarchical records. |