Skip to content

Tree 树形组件

树形数据展示与选择组件。支持单选/多选/级联选择、搜索过滤、懒加载。

基础用法

vue
<template>
  <see-tree :data="data" />
</template>

<script setup>
const data = [
  {
    id: 1,
    label: '节点1',
    children: [
      { id: 11, label: '节点1-1' },
      { id: 12, label: '节点1-2' }
    ]
  },
  { id: 2, label: '节点2' }
]
</script>

复选框

vue
<template>
  <see-tree :data="data" :is-checkable="true" />
</template>

搜索过滤

vue
<template>
  <see-tree :data="data" :is-filterable="true" />
</template>

TreeNode

属性类型说明
idstring | number节点唯一标识
labelstring节点标签
childrenTreeNode[]子节点列表
isDisabledboolean是否禁用
isLeafboolean是否为叶子节点
iconstring节点图标

Props

属性类型默认值说明
dataTreeNode[][]树形数据
modelValue(string | number)[][]选中的节点 key 列表
selectMode'single' | 'multiple' | 'check-cascade''single'选择模式
childrenFieldstring'children'子节点字段名
labelFieldstring'label'标签字段名
keyFieldstring'id'主键字段名
isAccordionbooleanfalse是否启用手风琴模式
isShowConnectorbooleanfalse是否显示连接线
isCheckablebooleanfalse是否显示复选框
isExpandAllbooleanfalse是否默认展开所有节点
isFilterablebooleanfalse是否可搜索
isLazybooleanfalse是否启用懒加载
isVirtualbooleanfalse是否启用虚拟滚动
virtualHeightnumber400虚拟滚动可视区域高度
nodeHeightnumber44节点高度
indentnumber24缩进量(px)
emptyTextstring'暂无数据'空数据提示文字

Events

事件名参数说明
onNodeClicknode节点点击
onNodeExpandnode, expanded节点展开/折叠
onCheckChangecheckedKeys, node选中状态变更
onLazyLoadnode, resolve懒加载触发
onSearchquery, filteredNodes搜索触发

Expose

方法名参数说明
getCheckedNodes-获取选中的节点
getExpandedKeys-获取展开的 key 列表
setExpandedKeyskeys设置展开的 key 列表
expandAll-展开所有节点
collapseAll-折叠所有节点
filterquery过滤节点
appendNodeparentKey, node添加节点
removeNodekey移除节点
updateNodekey, data更新节点

辽 ICP 备 2025070134 号