Skip to content

TreeFilter 树筛选 ​

TreeFilter 树筛选 的基础用法、公开 API 与示例。

基础示例 ​

示例使用本地演示数据;上传、校验和提交不会连接业务后端。

引入方式 ​

ts
import { TreeFilter } from "@/components/pro/tree-filter";

Props ​

参数说明类型默认值必填
data树形数据,如果传入该配置项且有数据,则不会执行 api 请求Recordable[][]否
requestApi请求数据的 api(data?: Recordable) => Promise<unknown>undefined否
defaultRequestParams默认请求参数(请求一定会携带)MaybeRef<Recordable>{}否
requestParams请求参数MaybeRef<Recordable>{}否
requestImmediate是否立即执行请求booleantrue否
transformData对请求成功的数据进行处理(data: unknown, result?: unknown) => Recordable[]undefined否
titletreeFilter 标题string""否
searchPlaceholder搜索框占位文本string"输入关键字进行过滤"否
id选择的 idstring"id"否
label显示的 labelstring"label"否
filterFields参与本地搜索的节点字段;缺省时仅匹配 label 字段 字段值仅支持字符串或数字,并会同时匹配当前节点及其祖先节点。string[][]否
children子节点字段string"children"否
multiple是否为多选booleanfalse否
defaultValue默认选中的值TreeKey | TreeKey[]undefined否
enableTotal是否显示 全部 选项booleantrue否
defaultFirst是否默认选中第一个选项booleanfalse否
showMore是否显示更多按钮booleantrue否
showNum是否显示数量,仅显示一级节点数量booleanfalse否
defaultExpandAll是否默认展开所有节点booleantrue否
card是否使用卡片样式booleantrue否
lazy是否启用懒加载,初始只加载最外层节点,展开时再加载子节点booleanfalse否
lazyRequestApi懒加载子节点数据的方法(lazy 为 true 时必须提供) node 为当前节点数据,null 时表示加载根节点。 支持在节点数据中设置 isLeaf: true 标识叶子节点(不再触发加载)。(node: Recordable | null) => Promise<Recordable[]>undefined否
width组件宽度,默认 240px,传入空字符串则为自适应宽度string"240px"否
maxHeight组件最大高度,用于限制分类树占用的视口空间string | numberundefined否
resizable是否允许拖拽右侧边缘调整宽度booleantrue否
minWidth拖拽调整时的最小宽度(px)number160否
maxWidth拖拽调整时的最大宽度(px)number800否
sticky是否启用粘性布局,滚动到组件位置时固定在视口顶部booleanfalse否
stickyTop粘性布局时的 top 偏移量(px),用于避开固定头部等元素number0否

Events ​

事件名说明回调参数
change值变化时触发。value: string | number | TreeKey[], data?: Recordable | Recordable[], path?: Recordable[] | Recordable[][],

Slots ​

插槽名说明参数
title标题内容插槽。-
actionsactions 内容插槽。toggle-tree-nodes

Expose ​

名称说明类型
treeData当前树数据。-
treeAllData完整树数据。-
initTreeData初始化树数据。-
getNodePath获取节点路径。-

Module API ​

名称说明类型
TreeFilter导出 TreeFilter 供业务侧复用。useInstall(index)

Types ​

TreeFilterProps ​

导出 TreeFilterProps 供业务侧复用。

字段说明类型默认值必填
data树形数据,如果传入该配置项且有数据,则不会执行 api 请求Recordable[]-否
requestApi请求数据的 api(data?: Recordable) => Promise<unknown>-否
defaultRequestParams默认请求参数(请求一定会携带)MaybeRef<Recordable>-否
requestParams请求参数MaybeRef<Recordable>-否
requestImmediate是否立即执行请求booleantrue否
transformData对请求成功的数据进行处理(data: unknown, result?: unknown) => Recordable[]-否
titletreeFilter 标题string-否
searchPlaceholder搜索框占位文本string'输入关键字进行过滤'否
id选择的 idstring'id'否
label显示的 labelstring'label'否
filterFields参与本地搜索的节点字段;缺省时仅匹配 label 字段 字段值仅支持字符串或数字,并会同时匹配当前节点及其祖先节点。string[]-否
children子节点字段string-否
multiple是否为多选booleanfalse否
defaultValue默认选中的值TreeKey | TreeKey[]-否
enableTotal是否显示 全部 选项booleantrue否
defaultFirst是否默认选中第一个选项booleantrue否
showMore是否显示更多按钮booleanfalse否
showNum是否显示数量,仅显示一级节点数量booleanfalse否
defaultExpandAll是否默认展开所有节点booleantrue否
card是否使用卡片样式booleantrue否
lazy是否启用懒加载,初始只加载最外层节点,展开时再加载子节点booleanfalse否
lazyRequestApi懒加载子节点数据的方法(lazy 为 true 时必须提供) node 为当前节点数据,null 时表示加载根节点。 支持在节点数据中设置 isLeaf: true 标识叶子节点(不再触发加载)。(node: Recordable | null) => Promise<Recordable[]>-否
width组件宽度,默认 240px,传入空字符串则为自适应宽度string'240px'否
maxHeight组件最大高度,用于限制分类树占用的视口空间string | number-否
resizable是否允许拖拽右侧边缘调整宽度booleantrue否
minWidth拖拽调整时的最小宽度(px)number160否
maxWidth拖拽调整时的最大宽度(px)number800否
sticky是否启用粘性布局,滚动到组件位置时固定在视口顶部booleanfalse否
stickyTop粘性布局时的 top 偏移量(px),用于避开固定头部等元素number0否

FilterEmits ​

导出 FilterEmits 供业务侧复用。

字段说明类型默认值必填
change配置 change。[<br> value: string | number | TreeKey[],<br> data?: Recordable | Recordable[],<br> path?: Recordable[] | Recordable[][],<br> ]-是

API 根据当前组件源码生成;同步版本与验证记录见维护说明。