跳转到内容

级联选择 Cascader

级联选择器的基本用法。

设置属性 check-strictly,开启严格选择模式,点击任何结点都可以选择。多选时将会解除父子节点的关联。

允许清除。

指定 optiondisabledtrue,可以禁用该选项。

通过设置 expand-child 可以在选择时展开第一个子菜单

组件默认会展示在选项中不存在的值,可通过 fallback 自定义展示或者关闭

可以通过 field-names 属性自定义 options 中数据的格式。

利用 formatLabel 对显示的内容进行自定义处理。

通过 load-more 属性可以开启数据懒加载功能。开启数据懒加载功能后,需要在叶子节点标注 isLeaf: true,没有标注且没有 children 属性的节点会认为需要懒加载处理。 load-more 属性有提供 done 函数进行回调,可以在回调中传入懒加载的子数据。如果 done 函数没有传入数据会认为懒加载失败,此节点可以再次触发懒加载。

选择框和下拉菜单显示加载中状态。

通过设置 multiple 开启多选模式。

级联菜单可以单独使用,此时为 数据展示 组件

modelValue 使用路径作为值。

通过设置 allow-search 让输入框支持搜索功能。

虚拟列表的使用方法。

参数名描述类型默认值版本
path-mode绑定值是否为路径booleanfalse
multiple是否为多选状态(多选模式默认开启搜索)booleanfalse
model-value (v-model)绑定值string| number| Record<string, any>| ( | string | number | Record<string, any> | (string | number | Record<string, any>)[] )[]| undefined-
default-value默认值(非受控状态)string| number| Record<string, any>| ( | string | number | Record<string, any> | (string | number | Record<string, any>)[] )[]| undefined'' | undefined | []
options级联选择器的选项CascaderOption[][]
disabled是否禁用booleanfalse
error是否为错误状态booleanfalse
size选择框的大小'mini' | 'small' | 'medium' | 'large''medium'
allow-search是否允许搜索booleanfalse (single) | true (multiple)
allow-clear是否允许清除booleanfalse
input-value (v-model)输入框的值string-
default-input-value输入框的默认值(非受控状态)string''
popup-visible (v-model)是否显示下拉框boolean-
expand-trigger展开下一级的触发方式'click' | 'hover''click'
default-popup-visible是否默认显示下拉框(非受控状态)booleanfalse
placeholder占位符string-
filter-option自定义选项过滤方法(inputValue: string, option: CascaderOption) => boolean-
popup-container弹出框的挂载容器string | HTMLElement-
max-tag-count多选模式下,最多显示的标签数量。0 表示不限制number0
format-label格式化展示内容(options: CascaderOption[]) => string-
trigger-props下拉菜单的触发器属性TriggerProps-
check-strictly是否开启严格选择模式booleanfalse
load-more数据懒加载函数,传入时开启懒加载功能( option: CascaderOption, done: (children?: CascaderOption[]) => void) => void-2.13.0
loading是否为加载中状态booleanfalse2.15.0
search-option-only-label搜索下拉菜单中的选项是否仅展示标签booleanfalse2.18.0
search-delay触发搜索事件的延迟时间number5002.18.0
field-names自定义 CascaderOption 中的字段CascaderFieldNames-2.22.0
value-key用于确定选项键值的属性名string'value'2.29.0
fallback自定义不存在选项的值的展示boolean| (( value: | string | number | Record<string, unknown> | (string | number | Record<string, unknown>)[] ) => string)true2.29.0
expand-child是否展开子菜单booleanfalse2.29.0
virtual-list-props传递虚拟列表属性,传入此参数以开启虚拟滚动 VirtualListPropsVirtualListProps-2.49.0
tag-nowrap标签内容不换行booleanfalse2.56.1
事件名描述参数
change选中值改变时触发value: string | number | (string | number | (string | number)[])[] | undefined
input-value-change输入值改变时触发value: string
clear点击清除按钮时触发-
search用户搜索时触发value: string
popup-visible-change下拉框的显示状态改变时触发visible: boolean
focus获得焦点时触发ev: FocusEvent
blur失去焦点时触发ev: FocusEvent
插槽名描述参数版本
label选择框的显示内容data: CascaderOption2.18.0
prefix前缀元素-2.23.0
arrow-icon选择框的箭头图标-2.16.0
loading-icon选择框的加载中图标-2.16.0
search-icon选择框的搜索图标-2.16.0
empty选项为空时的显示内容-2.23.0
option选项内容data: CascaderOption2.18.0
参数名描述类型默认值版本
path-mode绑定值是否为路径booleanfalse
multiple是否为多选状态(多选模式默认开启搜索)booleanfalse
model-value (v-model)绑定值string| number| Record<string, any>| ( | string | number | Record<string, any> | (string | number | Record<string, any>)[] )[]| undefined-
default-value默认值(非受控状态)string| number| Record<string, any>| ( | string | number | Record<string, any> | (string | number | Record<string, any>)[] )[]| undefined'' | undefined | []
options级联选择器的选项CascaderOption[][]
expand-trigger展开下一级的触发方式string'click'
check-strictly是否开启严格选择模式booleanfalse
load-more数据懒加载函数,传入时开启懒加载功能( option: CascaderOption, done: (children?: CascaderOption[]) => void) => void-2.13.0
field-names自定义 CascaderOption 中的字段CascaderFieldNames-2.22.0
value-key用于确定选项键值的属性名string'value'2.29.0
expand-child是否展开子菜单booleanfalse2.29.0
事件名描述参数
change选中值改变时触发value: string | number | (string | number | (string | number)[])[] | undefined
插槽名描述参数版本
empty选项为空时的显示内容-2.23.0
参数名描述类型默认值版本
value选项值,2.29.0 版本支持对象string | number | Record<string, any>-
label选项文本string-
render自定义渲染RenderFunction-
disabled是否禁用booleanfalse
tagProps展示的标签属性TagProps-2.8.0
children下一级选项CascaderOption[]-
isLeaf是否是叶子节点booleanfalse