Cascader 级联选择器

对有层级关系结构的数据进行单项选择。

获取组件

import { Cascader } from 'rsuite';

// or
import Cascader from 'rsuite/Cascader';

演示

默认

外观

尺寸

撑满

位置

提示:设置为auto*时,尝试滚动页面或更改浏览器大小,它将自动出现在正确的位置。

父节点可选

自定义选项

禁用与只读

异步数据

可以通过 getChildren 属性和树节点上的 children 字段 length0 以异步加载子级。

受控的

容器与防止溢出

直接展示

无障碍设计

了解更多有关无障碍设计的信息。

Props

<Cascader>

属性名称 类型(默认值) 描述
appearance 'default' | 'subtle' ('default') 设置外观
block boolean 堵塞整行
childrenKey string ('children') 设置选项子节点在 data 中的 key
classPrefix string ('picker') 组件 CSS 类的前缀
cleanable boolean (true) 可以清除
container HTMLElement | (() => HTMLElement) 设置渲染的容器
data * ItemDataType[] 组件数据
defaultValue string 设置默认值
disabled boolean 禁用组件
disabledItemValues string[] 禁用选项
getChildren (item: ItemDataType) => Promise<ItemDataType[]> 异步加载树节点的子级
height number (320) 设置 Dropdown 的高度
inline boolean 在组件初始后直接展示菜单
labelKey string ('label') 设置选项显示内容在 data 中的 key
locale PickerLocaleType 本地化的文本
menuClassName string 选项菜单的 className
menuHeight number 设置菜单的高度
menuWidth number 设置菜单的宽度
onChange (value:string, event) => void value 发生改变时的回调函数
onClean (event:SyntheticEvent) => void 清除值后的回调函数
onClose () => void 关闭回调函数
onEnter () => void 显示前动画过渡的回调函数
onEntered () => void 显示后动画过渡的回调函数
onEntering () => void 显示中动画过渡的回调函数
onExit () => void 退出前动画过渡的回调函数
onExited () => void 退出后动画过渡的回调函数
onExiting () => void 退出中动画过渡的回调函数
onOpen () => void 打开回调函数
onSearch (searchKeyword:string, event) => void 搜索的回调函数
onSelect (item: ItemDataType, selectedPaths: ItemDataType[], event) => void 选项被点击选择后的回调函数
open boolean 是否打开
parentSelectable boolean 设置父节点为可选
placeholder ReactNode ('Select') 占位符
placement Placement ('bottomStart') 打开位置
preventOverflow boolean 防止浮动元素溢出
renderExtraFooter () => ReactNode 自定义页脚内容
renderMenu (children: object[], menu:ReactNode, parentNode?: object, layer?: number) => ReactNode 自定义渲染菜单列表
renderMenuItem (label:ReactNode, item: ItemDataType) => ReactNode 自定义选项
renderSearchItem (label:ReactNode, items: ItemDataType[]) => ReactNode 自定义渲染搜索结果选项
renderValue (value:string, selectedPaths: ItemDataType[], selectedElement:ReactNode) => ReactNode 自定义被选中的选项
searchable boolean (true) 可以搜索
size 'lg' | 'md' | 'sm' | 'xs' ('md') 设置组件尺寸
toggleAs ElementType ('a') 为组件自定义元素类型
value string 设置值(受控)
valueKey string ('value') 设置选项值在 data 中的 key
caretAs ElementType 自定义右侧箭头图标的组件

ts:ItemDataType

interface ItemDataType {
  /** The value of the option corresponds to the `valueKey` in the data. **/
  value: string;

  /** The content displayed by the option corresponds to the `labelKey` in the data. **/
  label: ReactNode;

  /**
   * The data of the child option corresponds to the `childrenKey` in the data.
   * Properties owned by tree structure components, such as TreePicker, Cascader.
   */
  children?: ItemDataType[];

  /**
   * Properties of grouping functional components, such as CheckPicker, InputPicker
   */
  groupBy?: string;

  /**
   * The children under the current node are loading.
   * Used for components that have cascading relationships and lazy loading of children. E.g. Cascader, MultiCascader
   */
  loading?: boolean;
}

ts:Placement

type Placement = 'bottomStart' | 'topStart' | 'autoVerticalStart';
Vercel banner