Cascader 级联选择
从相关联的数据集合中进行多级选择
何时使用
- 需要在多层级数据中选择某一项时。
- 数据结构为父子层级(如省市区、组织架构)时。
placeholder、notFoundContent 默认跟随全局语言(zh-CN / zh-TW / en-US),传 prop 可覆盖。
请选择
导入
基础用法
省市区级联。
更多示例
默认值
默认值通过数组的方式指定。
选择即改变
允许只选中父级选项,不必选到叶子节点。
移入展开
通过移入展开下级菜单,点击完成选择。
搜索
可以直接搜索选项并选择。
自定义字段名
自定义字段名。
动态加载选项
使用 loadData 实现动态加载选项。
大小
不同大小的级联选择器。
自定义触发器
通过默认 slot 自定义触发器。
API
Props
| 参数 | 说明 | 类型 | 默认值 |
|---|---|---|---|
| options | 可选项数据源 | CascaderOption[] | - |
| modelValue (v-model) | 当前值 | (string | number)[] | [] |
| defaultValue | 默认值 | (string | number)[] | [] |
| placeholder | 占位文字 | string | 请选择 |
| disabled | 是否禁用 | boolean | false |
| allowClear | 是否支持清除 | boolean | true |
| size | 输入框大小 | small | medium | large | medium |
| fieldNames | 自定义字段名 | CascaderFieldNames | - |
| expandTrigger | 展开触发方式 | click | hover | click |
| changeOnSelect | 选择即改变,允许只选中父级 | boolean | false |
| showSearch | 是否支持搜索 | boolean | CascaderSearchConfig | false |
| notFoundContent | 无数据时显示 | string | 无数据 |
| separator | 分隔符 | string | / |
| loadData | 动态加载选项 | (selectedOptions) => Promise<void> | - |
| side | 弹出位置 | top | bottom | left | right | bottom |
| sideOffset | 偏移量 | number | 4 |
| align | 对齐方式 | start | center | end | start |
Events
| 事件 | 说明 | 回调参数 |
|---|---|---|
| change | 选择完成后的回调 | (value, selectedOptions) |
| search | 搜索时的回调 | (value: string) |
Slots
| 名称 | 说明 |
|---|---|
| default | 自定义触发器内容 |
| suffixIcon | 自定义后缀图标 |
| expandIcon | 自定义展开图标 |
| notFoundContent | 自定义无数据内容 |
CascaderOption
| 参数 | 说明 | 类型 |
|---|---|---|
| value | 值 | string | number |
| label | 标签 | string |
| disabled | 是否禁用 | boolean |
| isLeaf | 是否叶子节点 | boolean |
| children | 子选项 | CascaderOption[] |
CascaderFieldNames
| 参数 | 说明 | 默认值 |
|---|---|---|
| label | 标签字段名 | label |
| value | 值字段名 | value |
| children | 子选项字段名 | children |
| disabled | 禁用字段名 | disabled |
| isLeaf | 叶子节点字段名 | isLeaf |
CascaderSearchConfig
| 参数 | 说明 | 类型 |
|---|---|---|
| filter | 过滤函数 | (input, path) => boolean |
| onSearch | 搜索回调 | (value: string) => void |
| limit | 搜索结果限制 | number | false |
