TreeSelect 树选择
规则
基础示例
Props 配置示例
可搜索、可清空
树勾选与父子关联
标签形态取值(label-in-value)
整段禁用
尺寸对比(小 / 中 / 大)
Events 事件示例
value:string | number | Array<string | number> | LabelValue | LabelValue[] | undefined(随 multiple、labelInValue、treeCheckable 等组合变化)
Props
| 参数名 | 描述 | 类型 | 默认值 | 版本 |
|---|---|---|---|---|
| disabled | 是否禁用 | boolean | false | |
| loading | 是否为加载中状态 | boolean | false | |
| error | 是否为错误状态 | boolean | false | |
| size | 选择框的大小 | 'mini' | 'small' | 'medium' | 'large' | 'medium' | |
| border | 是否显示边框 | boolean | true | |
| allow-search | 是否允许搜索 | boolean | { retainInputValue?: boolean } | 单选 false,多选 true | |
| allow-clear | 是否允许清除 | boolean | false | |
| placeholder | 提示文案 | string | - | |
| max-tag-count | 最多显示的标签数量(多选) | number | - | |
| multiple | 是否支持多选 | boolean | false | |
| default-value | 默认值 | string | number | Array<string | number> | LabelValue | LabelValue[] | - | |
| model-value(v-model) | 绑定值 | string | number | Array<string | number> | LabelValue | LabelValue[] | - | |
| field-names | 指定节点数据中的字段名 | TreeFieldNames | - | |
| data | 数据 | TreeNodeData[] | [] | |
| label-in-value | 为 true 时值为 { label, value } 形态 | boolean | false | |
| tree-checkable | 是否展示复选框 | boolean | false | |
| tree-check-strictly | 父子节点是否关联 | boolean | false | |
| tree-checked-strategy | 定制回显方式 | 'all' | 'parent' | 'child' | 'all' | |
| tree-props | 透传 Tree 组件的 Props | Partial<TreeProps> | - | |
| trigger-props | 透传 Trigger 组件的 Props | Partial<TriggerProps> | - | |
| popup-visible(v-model) | 弹出框是否可见 | boolean | - | |
| default-popup-visible | 默认弹出框是否可见 | boolean | false | |
| dropdown-style | 下拉框样式 | CSSProperties | - | |
| dropdown-class-name | 下拉框样式 class | string | string[] | - | |
| filter-tree-node | 自定义节点过滤函数 | (searchKey: string, nodeData: TreeNodeData) => boolean | - | |
| load-more | 动态加载数据 | (nodeData: TreeNodeData) => Promise<void> | - | |
| disable-filter | 禁用内部过滤逻辑 | boolean | false | |
| popup-container | 弹出框的挂载容器 | string | HTMLElement | - | |
| fallback-option | 为 value 中找不到匹配项的 key 定义节点数据 | boolean | ((key: number | string) => TreeNodeData | boolean) | true | 2.22.0 |
| selectable | 设置可选择的节点 | boolean | 'leaf' | ((node: TreeNodeData, info: { isLeaf: boolean; level: number }) => boolean) | true | 2.27.0 |
| scrollbar | 是否开启虚拟滚动条 | boolean | ScrollbarProps | true | 2.39.0 |
| show-header-on-empty | 空状态时是否显示 header | boolean | false | |
| show-footer-on-empty | 空状态时是否显示 footer | boolean | false | |
| input-value(v-model) | 输入框的值 | string | - | 2.55.0 |
| default-input-value | 输入框的默认值(非受控) | string | '' | 2.55.0 |
Events
| 事件名 | 描述 | 参数 | 版本 |
|---|---|---|---|
| change | 值改变时触发 | value: string | number | LabelValue | Array<string | number> | LabelValue[] | undefined | |
| popup-visible-change | 下拉框显示状态改变时触发 | visible: boolean | |
| search | 搜索值变化时触发 | searchKey: string | |
| clear | 点击清除时触发 | - | |
| input-value-change | 输入框的值发生改变时触发 | inputValue: string | 2.55.0 |


