logoNamu Design

⌘ K
  • Design
  • Development
  • Components
  • Blog
  • Resources
1.0.0
  • Components Overview
  • General
    • Button
    • FloatButtonNew
    • Icon
    • Typography
  • Layout
    • Divider
    • Grid
    • Layout
    • Space
  • Navigation
    • Anchor
    • Breadcrumb
    • Dropdown
    • Menu
    • Pagination
    • Steps
  • Data Entry
    • AutoComplete
    • Cascader
    • Checkbox
    • ColorPickerNew
    • 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
    • Popover
    • QRCodeNew
    • Segmented
    • Statistic
    • Table
    • Tabs
    • Tag
    • Timeline
    • Tooltip
    • TourNew
    • Tree
  • Feedback
    • Alert
    • Drawer
    • Message
    • Modal
    • Notification
    • Popconfirm
    • Progress
    • Result
    • Skeleton
    • Spin
    • Watermark
  • Other
    • Affix
    • AppNew
    • ConfigProvider
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
Custom dropdown
Placement
Status
API
showSearch
Option
Methods
Design Token

Cascader

  • AutoCompleteCheckbox

    Resources

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

    Community

    Awesome Namu Design
    Medium
    Twitter
    yuqueNamu Design in YuQue
    Namu Design in Zhihu
    Experience Cloud Blog
    seeconfSEE Conf-Experience Tech Conference

    Help

    GitHub
    Change Log
    FAQ
    Bug Report
    Issues
    Discussions
    StackOverflow
    SegmentFault

    Ant XTechMore Products

    yuqueYuQue-Document Collaboration Platform
    AntVAntV-Data Visualization
    EggEgg-Enterprise Node.js Framework
    kitchenKitchen-Sketch Toolkit
    xtechAnt Financial Experience Tech
    Theme Editor
    Made with ❤ by
    Ant Group and Namu Design Community

    Cascade selection box.

    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 classification separated for easy selection.
    • Chooses cascade items in one float layer for better user experience.

    Examples

    Basic

    Cascade selection box for selecting province/city/district.

    expand codeexpand code
    Custom trigger

    Separate trigger button and result.

    expand codeexpand code
    Disabled option

    Disable option by specifying the disabled property in options.

    expand codeexpand code
    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.

    expand codeexpand code
    Size

    Cascade selection box of different sizes.

    expand codeexpand code
    Search

    Search and select options directly.

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

    expand codeexpand code
    Custom Field Names

    Custom field names.

    expand codeexpand code
    Placement

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

    expand codeexpand code
    Default value

    Specifies default value by an array.

    expand codeexpand code
    Hover

    Hover to expand sub menu, click to select option.

    expand codeexpand code
    Change on select

    Allow only select parent options.

    expand codeexpand code
    ShowCheckedStrategy

    The way show selected item in box using ShowCheckedStrategy.

    expand codeexpand code
    Custom render

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

    expand codeexpand code
    Load Options Lazily

    Load options lazily with loadData.

    Note: loadData cannot work with showSearch.

    expand codeexpand code
    Custom dropdown

    Customize the dropdown menu via dropdownRender.

    expand codeexpand code
    Status

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

    expand codeexpand code

    API

    Common props ref:Common props

    <Cascader options={options} onChange={onChange} />
    PropertyDescriptionTypeDefaultVersion
    allowClearShow clear buttonboolean | { clearIcon?: ReactNode }true5.8.0: Support object type
    autoFocusIf get focus when component mountedbooleanfalse
    borderedWhether has border stylebooleantrue
    changeOnSelect(Work on single select) Change value on each selection if set to true, see above demo for detailsbooleanfalse
    classNameThe additional css classstring-
    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 overlaystring-4.23.0
    dropdownRenderCustomize dropdown content(menus: ReactNode) => ReactNode-4.4.0
    expandIconCustomize the current item expand iconReactNode-4.4.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-
    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 matchesstringNot Found
    openSet visible of cascader popupboolean-4.17.0
    optionsThe data options of cascadeOption[]-
    placeholderThe input placeholderstringPlease select
    placementUse preset popup align config from builtinPlacementsbottomLeft bottomRight topLeft topRightbottomLeft4.17.0
    showSearchWhether show search input in single modeboolean | Objectfalse
    sizeThe input sizelarge | middle | small-
    statusSet validation status'error' | 'warning'-4.19.0
    styleThe additional styleCSSProperties-
    suffixIconThe custom suffix iconReactNode-
    valueThe selected valuestring[] | number[]-
    onChangeCallback when finishing cascader select(value, selectedOptions) => void-
    onDropdownVisibleChangeCallback when popup shown or hidden(value) => void-4.17.0
    multipleSupport multiple or notboolean-4.17.0
    removeIconThe custom remove iconReactNode-
    showCheckedStrategyThe way show selected item in box. ** 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 columnCSSProperties-
    loadingIconThe appearance of lazy loading (now is useless)ReactNode-

    showSearch

    PropertyDescriptionTypeDefaultVersion
    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)-

    Option

    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

    Design Token

    Component Token

    Global Token

    Please select
    Unselect Change city
     






    Please select
    Please select


    Please select
    Zhejiang / Hangzhou / West Lake
    + 2 ...
     


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