跳转到内容

树 Tree

为每个节点赋予全局唯一的 key(必填项),title 为该节点显示的内容。

节点占据一整行。 ## en-US The treeNode occupy the remaining horizontal space.

Section titled “节点占据一整行。 ## en-US The treeNode occupy the remaining horizontal space.”

Tree 添加 checkable 属性即可使树具有复选框功能,可以用 defaultCheckedKeys 指定复选框默认选中的节点。

Tree 添加 checkedStrategy 可以设置选中时的回填方式

selectedKeyscheckedKeysexpandedKeys 属性均可受控,不仅支持 v-model ,还可以在对应的 select / check / expand 事件中自行控制如何更新属性值。

可拖拽的树节点。

通过 fieldNames 字段可以自定义 data 的字段名。

节点的图标 loadingIcon, switcherIcon,同时支持在 treenode 两个纬度上定制,其中 node 的优先级较高。

动态加载节点。

Tree 设置 multiple 属性为true,可以启用多选。

节点图标可以通过 treeicon 插槽全局指定,也可以通过节点的 icon 属性单独指定。

Tree 提供了名为 extraSlot, 可以在节点上定制额外的内容。

展示如何实现搜索树的效果。

Tree 添加 showLine 属性即可使树具有连接线

不同尺寸的树。

通过指定 virtualListProps 来开启虚拟列表,在大量数据时获得高性能表现。

参数名描述类型默认值版本
size尺寸'mini' | 'small' | 'medium' | 'large''medium'
block-node节点是否占据一行booleanfalse
default-expand-all是否默认展开父节点booleantrue
multiple是否支持多选booleanfalse
checkable是否在节点前添加复选框,从 2.27.0 开始支持函数格式boolean| (( node: TreeNodeData, info: { level: number; isLeaf: boolean; } ) => boolean)false
selectable是否支持选择,从 2.27.0 开始支持函数格式boolean| (( node: TreeNodeData, info: { level: number; isLeaf: boolean; } ) => boolean)true
check-strictly是否取消父子节点关联booleanfalse
checked-strategy定制回填方式 <br/> all: 返回所有选中的节点 <br/> parent: 父子节点都选中时只返回父节点 <br/> child: 只返回子节点'all' | 'parent' | 'child''all'
default-selected-keys默认选中的树节点Array<string | number>-
selected-keys (v-model)选中的树节点Array<string | number>-
default-checked-keys默认选中复选框的树节点Array<string | number>-
checked-keys (v-model)选中复选框的树节点Array<string | number>-
default-expanded-keys默认展开的节点Array<string | number>-
expanded-keys (v-model)展开的节点Array<string | number>-
data传入data,生成对应的树结构TreeNodeData[][]
field-names指定节点数据中的字段名TreeFieldNames-
show-line是否展示连接线booleanfalse
load-more异步加载数据的回调,返回一个 Promise(node: TreeNodeData) => Promise<void>-
draggable是否可以拖拽booleanfalse
allow-drop拖拽时是否允许在某节点上释放(options: { dropNode: TreeNodeData; dropPosition: -1 | 0 | 1;}) => boolean-
virtual-list-props传递虚拟列表属性,传入此参数以开启虚拟滚动,VirtualListPropsVirtualListProps-
default-expand-selected是否默认展开已选中节点的父节点booleanfalse2.9.0
default-expand-checked是否默认展开已选中复选框节点的父节点booleanfalse2.9.0
auto-expand-parent是否自动展开已展开节点的父节点booleantrue2.9.0
half-checked-keys (v-model)半选状态的节点.仅在 checkable 且 checkStrictly 时生效Array<string | number>-2.19.0
only-check-leaf开启后 checkedKeys 只处理叶子节点,父节点状态由子节点决定(仅在 checkable 且 checkStrictly 为 false 时生效)booleanfalse2.21.0
animation是否开启展开时的过渡动效booleantrue2.21.0
action-on-node-click点击节点的时候触发的动作'expand'-2.27.0
事件名描述参数
select点击树节点时触发selectedKeys: Array<string | number>
data: { selected?: boolean; selectedNodes: TreeNodeData[]; node?: TreeNodeData; e?: Event; }
check点击树节点复选框时触发。halfCheckedKeyshalfCheckedNodes2.19.0 开始支持。checkedKeys: Array<string | number>
data: { checked?: boolean; checkedNodes: TreeNodeData[]; node?: TreeNodeData; e?: Event; halfCheckedKeys: (string | number)[]; halfCheckedNodes: TreeNodeData[]; }
expand展开/关闭expandKeys: Array<string | number>
data: { expanded?: boolean; expandNodes: TreeNodeData[]; node?: TreeNodeData; e?: Event; }
drag-start节点开始拖拽ev: DragEvent
node: TreeNodeData
drag-end节点结束拖拽ev: DragEvent
node: TreeNodeData
drag-over节点被拖拽至可释放目标ev: DragEvent
node: TreeNodeData
drag-leave节点离开可释放目标ev: DragEvent
node: TreeNodeData
drop节点在可释放目标上释放data: { e: DragEvent; dragNode: TreeNodeData; dropNode: TreeNodeData; dropPosition: number; }
方法名描述参数返回值版本
scrollIntoView虚拟列表滚动某个元素options: { index?: number; key?: number | string; align: 'auto' | 'top' | 'bottom'}-
getSelectedNodes获取选中的节点-TreeNodeData[]2.19.0
getCheckedNodes获取选中复选框的节点。支持传入 checkedStrategy,没有传则取组件的配置。options: checkedStrategy?: 'all' | 'parent' | 'child'; includeHalfChecked?: boolean;TreeNodeData[]2.19.0
getHalfCheckedNodes获取复选框半选的节点-TreeNodeData[]2.19.0
getExpandedNodes获取展开的节点-TreeNodeData[]2.19.0
checkAll设置全部节点的复选框状态checked: boolean-2.20.0
checkNode设置指定节点的复选框状态key: TreeNodeKey | TreeNodeKey[]
checked: boolean
onlyCheckLeaf: boolean
-2.20.0,onlyCheckLeaf from 2.21.0
selectAll设置全部节点的选中状态selected: boolean-2.20.0
selectNode设置指定节点的选中状态key: TreeNodeKey | TreeNodeKey[]
selected: boolean
-2.20.0
expandAll设置全部节点的展开状态expanded: boolean-2.20.0
expandNode设置指定节点的展开状态key: TreeNodeKey | TreeNodeKey[]
expanded: boolean
-2.20.0
插槽名描述参数版本
title标题title: string
extra渲染额外的节点内容-
drag-icon定制 drag 图标node: TreeNodeData
loading-icon定制 loading 图标-
switcher-icon定制 switcher 图标-
icon定制节点图标node: TreeNodeData2.18.0
参数名描述类型默认值
key唯一标示string | number-
title该节点显示的标题string-
selectable是否允许选中booleanfalse
disabled是否禁用节点booleanfalse
disableCheckbox是否禁用复选框booleanfalse
checkable是否显示多选框booleanfalse
draggable是否可以拖拽booleanfalse
isLeaf是否是叶子节点。动态加载时有效booleanfalse
icon节点的图标() => VNode-
switcherIcon定制 switcher 图标,优先级大于 tree() => VNode-
loadingIcon定制 loading 图标,优先级大于 tree() => VNode-
dragIcon定制 drag 图标,优先级大于 tree() => VNode-
children子节点TreeNodeData[]-
参数名描述类型默认值
key指定 key 在 TreeNodeData 中的字段名stringkey
title指定 title 在 TreeNodeData 中的字段名stringtitle
disabled指定 disabled 在 TreeNodeData 中的字段名stringdisabled
children指定 children 在 TreeNodeData 中的字段名stringchildren
isLeaf指定 isLeaf 在 TreeNodeData 中的字段名stringisLeaf
disableCheckbox指定 disableCheckbox 在 TreeNodeData 中的字段名stringdisableCheckbox
checkable指定 checkable 在 TreeNodeData 中的字段名stringcheckable
icon指定 icon 在 TreeNodeData 中的字段名stringcheckable
参数名描述类型默认值版本
height可视区域高度number | string-
threshold开启虚拟滚动的元素数量阈值,当数据数量小于阈值时不会开启虚拟滚动。number-
isStaticItemHeight(已废除)元素高度是否是固定的。2.34.1 版本废除,请使用 fixedSizebooleanfalse
fixedSize元素高度是否是固定的。booleanfalse2.34.1
estimatedSize元素高度不固定时的预估高度。number-2.34.1
buffer视口边界外提前挂载的元素数量。number102.34.1