Cascader 级联选择
用于逐级选择地区、分类等有层级关系的选项。
基础选择
children 定义子选项。点击父项展开下一列,点击末级选项确认完整路径;disabled 可以禁用一个分支。
交互预览两级分类
basic.tsx
受控路径
value 是从根节点到末级节点的 value 数组,onChange 同时提供完整的选项对象路径。切换父项后会清除旧分支的后续选择。
交互预览三级地区
选中路径:zhejiang → hangzhou → xihu
controlled.tsx
示例使用的地区选项:
options.ts
Cascader API
同一层内的 value 应唯一,传入路径应完整且存在于 options 中。其余原生 button 属性和 aria-* 透传至触发按钮;className / style 作用于外层容器。
类型
CascaderProps 用于定义组件属性。单独组装层级选项时,可以使用 CascaderOption:
CascaderOption
表单与键盘
设置 name 后,FormData 的值为 JSON 数组字符串,例如 ["zhejiang","hangzhou","xihu"],清除后为空字符串。可用 JSON.parse 读取路径。非受控组件支持表单 reset,受控组件需同步重置自己的状态。
Enter、空格或 ↓ 打开面板,↑ / ↓ 在列内移动,Home / End 移至首尾,→ 展开子级,← 返回上一级,Enter 选择。Tab 在各列之间移动,离开面板时聚焦表单中的后续控件;Escape 收起并聚焦触发按钮。关闭时未确认的路径不会提交。
面板沿用局部主题,较深层级可以横向滚动查看。为控件提供 label 或 aria-label。