Cascader 级联选择器

代码演示

基础用法

在 Stackblitz 中打开

选项卡风格

在 Stackblitz 中打开

进阶

带初始值

在 Stackblitz 中打开

自定义 keys

在 Stackblitz 中打开

使用次级标题

在 Stackblitz 中打开

选择任意一项

在 Stackblitz 中打开

Cascader Props

名称类型默认值描述必传
checkStrictlyBooleanfalse父子节点选中状态不再关联,可各自选中或取消N
closeBtnBoolean / Slot / Functiontrue关闭按钮。TS 类型:boolean \| TNode通用类型定义N
headerSlot / Function-头部。TS 类型:TNode通用类型定义N
keysObject-用来定义 value / label / children / disabled 在 options 中对应的字段别名。TS 类型:CascaderKeysType type CascaderKeysType = TreeKeysType通用类型定义详细类型定义N
middleContentSlot / Function-中间内容。TS 类型:TNode通用类型定义N
optionsArray[]可选项数据源。TS 类型:Array<CascaderOption>N
placeholderString / Slot / Function'选择选项'未选中时的提示文案。TS 类型:string \| TNode通用类型定义N
subTitlesArray[]每级展示的次标题。TS 类型:Array<string>N
themeStringstep展示风格。可选项:step/tabN
titleString / Slot / Function-标题。TS 类型:string \| TNode通用类型定义N
valueString / Number-选项值。支持语法糖 v-modelv-model:valueN
defaultValueString / Number-选项值。非受控属性N
visibleBooleanfalse是否展示N
onChangeFunctionTS 类型:(value: string \| number, selectedOptions: CascaderOption[]) => void
值发生变更时触发
N
onCloseFunctionTS 类型:(trigger: CascaderTriggerSource) => void
关闭时触发。详细类型定义
type CascaderTriggerSource = 'overlay' \| 'close-btn' \| 'finish'
N
onPickFunctionTS 类型:(context: { value: string \| number, label: string, index: number, level: number }) => void
选择后触发
N

Cascader Events

名称参数描述
change(value: string \| number, selectedOptions: CascaderOption[])值发生变更时触发
close(trigger: CascaderTriggerSource)关闭时触发。详细类型定义
type CascaderTriggerSource = 'overlay' \| 'close-btn' \| 'finish'
pick(context: { value: string \| number, label: string, index: number, level: number })选择后触发

CSS Variables

组件提供了下列 CSS 变量,可用于自定义样式。

名称默认值描述
--td-cascader-active-color@brand-color-
--td-cascader-border-color@border-color-
--td-cascader-disabled-color@font-gray-4-
--td-cascader-options-height320px-
--td-cascader-options-title-color@font-gray-3-
--td-cascader-step-arrow-color@font-gray-3-
--td-cascader-step-dot-size8px-
--td-cascader-step-height44px-
--td-cascader-title-color@font-gray-1-
--td-cascder-title-font-size18px-

何时使用

当一组选项由递进层级构成,且每个层级有大量的选项需要用户逐级选择时使用。

组件搭配使用

级联选择器与索引组合使用,当每个层级选项较多时,配合索引有利于用户快速找到目标选项。

常见用法

在表单中,级联选择器可放置于表单内容需要的顺序中,通常用于地址信息的选择和填写。

推荐/慎用示例

级联选择器的层级不宜超过4层,层级过多时应调整数据结构或改用其他交互方式。

在多层级中,各层级选项的归属关系应具备逻辑相关性,数据层级由大到小,避免归属关系混乱。

相似组件

组件名何时使用
选择器当需要在有限的空间展示大量选项供用户选择,或者一组选项由递进层级构成需要用户逐级选择时使用。