logoAnt Design

⌘ K
  • Design
  • Development
  • Components
  • Blog
  • Resources
YouMindTRACTIANLobeHubCodeRabbit
6.4.5
  • Components Overview
  • Changelog
    v6.4.5
  • General
    • Button
    • FloatButton
    • Icon
    • Typography
  • Layout
    • Divider
    • Flex
    • Grid
    • Layout
    • Masonry
      6.0.0
    • Space
    • Splitter
  • Navigation
    • Anchor
    • Breadcrumb
    • Dropdown
    • Menu
    • Pagination
    • Steps
    • Tabs
  • Data Entry
    • AutoComplete
    • Cascader
    • Checkbox
    • ColorPicker
    • DatePicker
    • Form
    • Input
    • InputNumber
    • Mentions
    • Radio
    • Rate
    • Select
    • Slider
    • Switch
    • TimePicker
    • Transfer
    • TreeSelect
    • Upload
  • Data Display
    • Avatar
    • Badge
    • Calendar
    • Card
    • Carousel
    • Collapse
    • Descriptions
    • Empty
    • Image
    • List
      DEPRECATED
    • Popover
    • QRCode
    • Segmented
    • Statistic
    • Table
    • Tag
    • Timeline
    • Tooltip
    • Tour
    • Tree
  • Feedback
    • Alert
    • Drawer
    • Message
    • Modal
    • Notification
    • Popconfirm
    • Progress
    • Result
    • Skeleton
    • Spin
    • Watermark
  • Other
    • Affix
    • App
    • BorderBeam
      6.4.0
    • ConfigProvider
    • Util
When To Use
Examples
Basic
Default value
Custom trigger
Hover
Disabled option
Change on select
Multiple
ShowCheckedStrategy
Size
Custom render
Search
Load Options Lazily
Custom Field Names
Prefix and Suffix
Custom dropdown
Placement
Variants
Status
Custom semantic dom styling
Panel
API
showSearch
Option
Methods
Semantic DOM
Design Token

Cascader

Cascade selection box.
Importimport { Cascader } from 'antd';
GitHub
components/cascaderIssueOpen issues
Docs
Edit this pageLLMs.md
AutoCompleteCheckbox

Resources

Ant Design X
Ant Design Charts
Ant Design Pro
Pro Components
Ant Design Mobile
Ant Design Mini
Ant Design Web3
Ant Design Landing-Landing Templates
Scaffolds-Scaffold Market
Umi-React Application Framework
dumi-Component doc generator
qiankun-Micro-Frontends Framework
Ant Motion-Motion Solution
China Mirror 🇨🇳

Community

Awesome Ant Design
Medium
X
yuque logoAnt Design in YuQue
Ant Design in Zhihu
Experience Cloud Blog
seeconf logoSEE Conf-Experience Tech Conference

Help

GitHub
Change Log
FAQ
For Agents
Bug Report
Issues
Discussions
StackOverflow
SegmentFault

Ant XTech logoMore Products

yuque logoYuQue-Document Collaboration Platform
AntV logoAntV-Data Visualization
Egg logoEgg-Enterprise Node.js Framework
Kitchen logoKitchen-Sketch Toolkit
Galacean logoGalacean-Interactive Graphics Solution
WeaveFox logoWeaveFox-AI Development with WeaveFox 🦊
xtech logoAnt Financial Experience Tech
Theme Editor
Made with ❤ by
Ant Group and Ant Design Community
loading

When To Use

  • When you need to select from a set of associated data set. Such as province/city/district, company level, things classification.
  • When selecting from a large data set, with multi-stage classifications separated for easy selection.
  • Chooses cascade items in one float layer for better user experience.

Examples

API

Common props ref:Common props

jsx
<Cascader options={options} onChange={onChange} />
PropertyDescriptionTypeDefaultVersionGlobal Config
allowClearShow clear buttonboolean | { clearIcon?: ReactNode }true5.8.0: Support object typeclearIcon: 6.4.0
autoClearSearchValueWhether the current search will be cleared on selecting an item. Only applies when multiple is truebooleantrue5.9.0×
borderedWhether has border style, please use variant insteadbooleantrue-×
changeOnSelectChange value on each selection if set to true, see above demo for detailsbooleanfalse×
classNamesCustomize class for each semantic structure inside the component. Supports object or function.Record<SemanticDOM, string> | (info: { props })=> Record<SemanticDOM, string>-5.25.0
defaultOpenInitial visible of cascader popupboolean-×
defaultValueInitial selected valuestring[] | number[][]×
disabledWhether disabled selectbooleanfalse×
displayRenderThe render function of displaying selected options(label, selectedOptions) => ReactNodelabel => label.join(/)multiple: 4.18.0×
tagRenderCustom render function for tags in multiple mode(label: string, onClose: function, value: string) => ReactNode-×
popupClassNameThe additional className of popup overlay, use classNames.popup.root insteadstring-4.23.0×
dropdownClassNameThe additional className of popup overlay, please use classNames.popup.root insteadstring--×
dropdownRenderCustomize dropdown content, use popupRender instead(menus: ReactNode) => ReactNode-4.4.0×
popupRenderCustomize dropdown content(menus: ReactNode) => ReactNode-×
dropdownStyleThe style of dropdown menu, use styles.popup.root insteadCSSProperties-×
expandIconCustomize the current item expand iconReactNode-4.4.06.3.0
expandTriggerexpand current item when click or hover, one of click hoverstringclick×
fieldNamesCustom field name for label and value and childrenobject{ label: label, value: value, children: children }×
getPopupContainerParent Node which the selector should be rendered to. Default to body. When position issues happen, try to modify it into scrollable content and position it relative. examplefunction(triggerNode)() => document.body×
loadDataTo load option lazily, and it cannot work with showSearch(selectedOptions) => void-×
loadingIconCustomize the loading iconReactNode-6.3.0
maxTagCountMax tag count to show. responsive will cost render performancenumber | responsive-4.17.0×
maxTagPlaceholderPlaceholder for not showing tagsReactNode | function(omittedValues)-4.17.0×
maxTagTextLengthMax tag text length to shownumber-4.17.0×
notFoundContentSpecify content to show when no result matchesReactNodeNot Found×
openSet visible of cascader popupboolean-4.17.0×
optionsThe data options of cascadeOption[]-×
placeholderThe input placeholderstring-×
placementUse preset popup align config from builtinPlacementsbottomLeft bottomRight topLeft topRightbottomLeft4.17.0×
prefixThe custom prefixReactNode-5.22.0×
showArrowWhether to show the arrow icon, please use suffixIcon={null} insteadbooleantrue-×
showSearchWhether show search input in single modeboolean | ObjectfalsesearchIcon: 6.4.0
sizeThe input sizelarge | medium | smallmedium×
statusSet validation status'error' | 'warning'-4.19.0×
stylesCustomize inline style for each semantic structure inside the component. Supports object or function.Record<SemanticDOM, CSSProperties> | (info: { props })=> Record<SemanticDOM, CSSProperties>-5.25.0
suffixIconThe custom suffix iconReactNode-6.4.0
valueThe selected valuestring[] | number[]-×
variantVariants of selectoroutlined | borderless | filled | underlinedoutlined5.13.0 | underlined: 5.24.05.19.0
onChangeCallback when finishing cascader select(value, selectedOptions) => void-×
onClearCalled when clear() => void--×
onDropdownVisibleChangeCallback when popup shown or hidden, use onOpenChange instead(value) => void-4.17.0×
onOpenChangeCallback when popup shown or hidden(value) => void-×
onPopupVisibleChangeCallback when popup shown or hidden, please use onOpenChange instead(value) => void--×
multipleSupport multiple or notboolean-4.17.0×
removeIconThe custom remove iconReactNode-6.4.0
showCheckedStrategyThe way to show selected items in the box (only effective when multiple is true). Cascader.SHOW_CHILD: just show child treeNode. Cascader.SHOW_PARENT: just show parent treeNode (when all child treeNode under the parent treeNode are checked)Cascader.SHOW_PARENT | Cascader.SHOW_CHILDCascader.SHOW_PARENT4.20.0×
searchValueSet search value, Need work with showSearchstring-4.17.0×
onSearchThe callback function triggered when input changed(search: string) => void-4.17.0×
dropdownMenuColumnStyleThe style of the drop-down menu column, use styles.popup.listItem insteadCSSProperties-×
popupMenuColumnStyleThe style of the drop-down menu column, use styles.popup.listItem insteadCSSProperties-×
optionRenderCustomize the rendering dropdown options(option: Option) => React.ReactNode-5.16.0×

showSearch

PropertyDescriptionTypeDefaultVersion
autoClearSearchValueWhether the current search will be cleared on selecting an item. Only applies when multiple is truebooleantrue5.9.0
filterThe function will receive two arguments, inputValue and option, if the function returns true, the option will be included in the filtered set; Otherwise, it will be excludedfunction(inputValue, path): boolean-
limitSet the count of filtered itemsnumber | false50
matchInputWidthWhether the width of list matches input, (how it looks)booleantrue
renderUsed to render filtered optionsfunction(inputValue, path): ReactNode-
sortUsed to sort filtered optionsfunction(a, b, inputValue)-
searchValueSet search value, Need work with showSearchstring-4.17.0
onSearchThe callback function triggered when input changed(search: string) => void-4.17.0
searchIconCustomize the search iconReactNode-6.3.0

Option

typescript
interface Option {
value: string | number;
label?: React.ReactNode;
disabled?: boolean;
children?: Option[];
// Determines if this is a leaf node(effective when `loadData` is specified).
// `false` will force trade TreeNode as a parent node.
// Show expand icon even if the current node has no children.
isLeaf?: boolean;
}

Methods

NameDescriptionVersion
blur()Remove focus
focus()Get focus

Semantic DOM

Design Token

Component TokenHow to use?
Token NameDescriptionTypeDefault Value
controlItemWidthWidth of itemstring | number111
controlWidthWidth of Cascaderstring | number184
dropdownHeightHeight of dropdownstring | number180
menuPaddingPadding of menu item (single column)Padding<string | number> | undefined4
optionPaddingPadding of menu itemPadding<string | number> | undefined5px 12px
optionSelectedBgBackground color of selected itemstring#e6f4ff
optionSelectedColorText color when option is selectedstringrgba(0,0,0,0.88)
optionSelectedFontWeightFont weight of selected itemFontWeight | undefined600
Global TokenHow to use?
Token NameDescriptionTypeDefault Value
colorBgContainerContainer background color, e.g: default button, input box, etc. Be sure not to confuse this with `colorBgElevated`.string#ffffff
colorBgContainerDisabledControl the background color of container in disabled state.stringrgba(0,0,0,0.04)
colorBorderDefault border color, used to separate different elements, such as: form separator, card separator, etc.string#d9d9d9
colorHighlightControl the color of page element when highlighted.string#ff4d4f
colorIconWeak action. Such as `allowClear` or Alert close buttonstringrgba(0,0,0,0.45)
colorPrimaryBrand color is one of the most direct visual elements to reflect the characteristics and communication of the product. After you have selected the brand color, we will automatically generate a complete color palette and assign it effective design semantics.string#1677ff
colorPrimaryBorderThe stroke color under the main color gradient, used on the stroke of components such as Slider.string#91caff
colorPrimaryHoverHover state under the main color gradient.string#4096ff
colorSplitUsed as the color of separator, this color is the same as colorBorderSecondary but with transparency.stringrgba(5,5,5,0.06)
colorTextDefault text color which comply with W3C standards, and this color is also the darkest neutral color.stringrgba(0,0,0,0.88)
colorTextDisabledControl the color of text in disabled state.stringrgba(0,0,0,0.25)
colorWhitePure white color don't changed by themestring#fff
borderRadiusSMSM size border radius, used in small size components, such as Button, Input, Select and other input components in small sizenumber4
controlInteractiveSizeControl the interactive size of control component.number16
controlItemBgHoverControl the background color of control component item when hovering.stringrgba(0,0,0,0.04)
fontFamilyThe font family of Ant Design prioritizes the default interface font of the system, and provides a set of alternative font libraries that are suitable for screen display to maintain the readability and readability of the font under different platforms and browsers, reflecting the friendly, stable and professional characteristics.string-apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, 'Noto Sans', sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol', 'Noto Color Emoji'
fontSizeThe most widely used font size in the design system, from which the text gradient will be derived.number14
fontSizeIconControl the font size of operation icon in Select, Cascader, etc. Normally same as fontSizeSM.number12
fontSizeLGLarge font sizenumber16
lineHeightLine height of text.number1.5714285714285714
lineTypeBorder style of base componentsstringsolid
lineWidthBorder width of base componentsnumber1
lineWidthBoldThe default line width of the outline class components, such as Button, Input, Select, etc.number2
lineWidthFocusControl the width of the line when the component is in focus state.number3
marginXSControl the margin of an element, with a small size.number8
motionDurationFastMotion speed, fast speed. Used for small element animation interaction.string0.1s
motionDurationMidMotion speed, medium speed. Used for medium element animation interaction.string0.2s
motionDurationSlowMotion speed, slow speed. Used for large element animation interaction.string0.3s
motionEaseInBackPreset motion curve.string
Cubic Bezier Visualizer
cubic-bezier(0.71, -0.46, 0.88, 0.6)External Link Icon
motionEaseOutBackPreset motion curve.string
Cubic Bezier Visualizer
cubic-bezier(0.12, 0.4, 0.29, 1.46)External Link Icon
paddingXSControl the extra small padding of the element.number8
paddingXXSControl the extra extra small padding of the element.number4
Basic

Cascade selection box for selecting province/city/district.

CodeSandbox Icon
Hitu Icon
codepen icon
External Link Icon
Expand Icon
Custom trigger

Separate trigger button and result.

CodeSandbox Icon
Hitu Icon
codepen icon
External Link Icon
Expand Icon
Disabled option

Disable option by specifying the disabled property in options.

CodeSandbox Icon
Hitu Icon
codepen icon
External Link Icon
Expand Icon
Multiple

Select multiple options. Disable the checkbox by adding the disableCheckbox property and selecting a specific item. The style of the disable can be modified by the className.

CodeSandbox Icon
Hitu Icon
codepen icon
External Link Icon
Expand Icon
Size

Cascade selection box of different sizes.

CodeSandbox Icon
Hitu Icon
codepen icon
External Link Icon
Expand Icon
Search

Search and select options directly.

Now, Cascader[showSearch] doesn't support search on server, more info #5547

CodeSandbox Icon
Hitu Icon
codepen icon
External Link Icon
Expand Icon
Custom Field Names

Custom field names.

CodeSandbox Icon
Hitu Icon
codepen icon
External Link Icon
Expand Icon
Custom dropdown

Customize the dropdown menu via popupRender.

CodeSandbox Icon
Hitu Icon
codepen icon
External Link Icon
Expand Icon
Variants

Variants of Cascader, there are four variants: outlined filled borderless and underlined.

CodeSandbox Icon
Hitu Icon
codepen icon
External Link Icon
Expand Icon
5.13.0
Custom semantic dom styling

You can customize the semantic dom style of Cascader by passing objects/functions through classNames and styles.

CodeSandbox Icon
Hitu Icon
codepen icon
External Link Icon
Expand Icon
6.0.0
Default value

Specifies default value by an array.

CodeSandbox Icon
Hitu Icon
codepen icon
External Link Icon
Expand Icon
Hover

Hover to expand sub menu, click to select option.

CodeSandbox Icon
Hitu Icon
codepen icon
External Link Icon
Expand Icon
Change on select

Allows the selection of only parent options.

CodeSandbox Icon
Hitu Icon
codepen icon
External Link Icon
Expand Icon
ShowCheckedStrategy

Shows a selected item in a box using showCheckedStrategy.

CodeSandbox Icon
Hitu Icon
codepen icon
External Link Icon
Expand Icon
Custom render

For instance, add an external link after the selected value.

CodeSandbox Icon
Hitu Icon
codepen icon
External Link Icon
Expand Icon
Load Options Lazily

Load options lazily with loadData.

Note: loadData cannot work with showSearch.

CodeSandbox Icon
Hitu Icon
codepen icon
External Link Icon
Expand Icon
Prefix and Suffix

Use prefix to customize the prefix content, use suffixIcon to customize the selection box suffix icon, and use expandIcon to customize the current item expand icon.

CodeSandbox Icon
Hitu Icon
codepen icon
External Link Icon
Expand Icon
5.22.0
Placement

You can manually specify the position of the popup via placement.

CodeSandbox Icon
Hitu Icon
codepen icon
External Link Icon
Expand Icon
Status

Add status to Cascader with status, which could be error or warning.

CodeSandbox Icon
Hitu Icon
codepen icon
External Link Icon
Expand Icon
Panel

Used for inline view case.

CodeSandbox Icon
Hitu Icon
codepen icon
External Link Icon
Expand Icon
>= 5.10.0
Please select
Unselect Change city






Please select
Please select
Please select
Please select
Please select
Please select
Please select
🏠
Object styles
✅
Function styles
Zhejiang / Hangzhou / West Lake
+ 2 ...


+ 0 ...
Zhejiang / Hangzhou / West Lake (752100)
Please select


Please select
ab


Please select


Please select


Please select


Please select
Error
Warning multiple
  • Zhejiang
  • Jiangsu
  • Zhejiang
  • Jiangsu
No data
No data
prefix
contributors / thinkasany
  • root
    Root element with relative positioning, inline-flex layout, cursor styles, transitions, border and other basic selector container styles
  • prefix
    Prefix element with layout and styling for prefix content
  • content
    Multiple selection container with layout, spacing, and wrapping styles for selected items
  • placeholder
    Placeholder element with font styles and colors for placeholder text
  • clear
    Clear button element with layout, styling and interactive effects for clear button
  • input
    Input element with search input styling, cursor control, font inheritance and other search-related styles. Remove border styles
  • suffix
    Suffix element with layout and styling for suffix content like clear button, arrow icon, etc.
  • popup.root
    Popup element with popup layer positioning, z-index, background, border, box-shadow and other popup container styles
  • popup.list
    Popup list element with option list layout, scrolling, max-height and other list container styles
  • popup.listItem
    Popup item element with option item padding, hover effects, selected states, disabled states and other option interactive styles