设计
设计指南
设计原则
样式指南
设计资源
Klein - Figma
Klein Font
官方图标库
开发
开发文档
React
Vue Web
敬请期待
开发资源
GitHub 代码仓库
生态产品
生态产品
Orion Fonts
敬请期待
Orio Market
敬请期待
Klein Pro
敬请期待
Klein Editor
敬请期待

树形控件 Tree

用于承载有父子关系的结构化内容,例如文件夹、组织架构等层级较多的内容,树可以完整展现他们的层级关系,并具有展开、收起、选择等交互功能。

基础示例

数据按需加载

树形组件

数据按需加载

支持拖拽

自定义图标

自定义展开图标

展示连接线

搜索树

虚拟滚动

HorizontalTree Props

参数说明类型默认值
columnWidth列宽度number-
columnStyle列样式CSSProperties-
checkedKeys(受控)选中复选框的树节点Key[][]-
defaultCheckedKeys默认选中复选框的树节点Key[][]-
onCheck勾选树节点触发((keys: Key[][], info: CheckedInfo) => void)-
onSelect点击树节点触发((selectedKeys: Key[], info: SelectedInfo, checkedKeys?: Key[][]) => void)-
showIcon是否显示自定义iconboolean-
checkable节点前添加 Checkbox 复选框boolean-
fieldNames自定义节点 title、key、children 的字段FieldNames-
treeDatatreeNodes 数据DataNode[]-
direction树节点展开的方向"horizontal"-
multiple支持点选多个节点boolean-
switcherIcon自定义树节点的展开/折叠图标string-
loadData异步加载数据((node: TreeNode, level: number) => Promise<any>)-

VerticalTree Props

参数说明类型默认值
allLineClickable当一整行点击时触发check或者select效果boolean-
showSearch是否展示搜索框, 无法配合按需加载使用boolean-
searchValue搜索框的值any-
searchListType搜索时的展示类型"tree-list"tree-list
hover树节点hover时的样式"longtest"longtest
draggable是否支持拖拽boolean-
height设置虚拟滚动容器高度number-
virtual设置 false 时关闭虚拟滚动booleantrue
showLine是否显示连接线boolean-
defaultExpandAll默认全部展开boolean-
customSearch自定义search的表现形式boolean-
autoExpandParent自动展开父级booleanfalse
placeholdersearch输入框placeholderstring-
renderTreeNode搜索框值变化时的回调((node: TreeNode) => ReactNode)-
onSearchChange搜索框值变化时的回调((value: string, list?: ReactNode[]) => void)-
onCheck勾选树节点触发((keys: Key[], info: CheckedInfo) => void)-
onSearchListSelect点击搜索项时的回调((path: ReactNode[], e: MouseEvent<HTMLDivElement, MouseEvent>) => void)-
showIcon是否显示自定义iconboolean-
checkable节点前添加 Checkbox 复选框booleanfalse
fieldNames自定义节点 title、key、children 的字段FieldNames-
treeDatatreeNodes 数据DataNode[]-
direction树节点展开的方向"horizontal"-
multiple支持点选多个节点booleanfalse
switcherIcon自定义树节点的展开/折叠图标string-
selectedKeys(受控)设置选中的树节点(横向树形组件不存在该属性)Key[]-
checkedKeys(受控)选中复选框的树节点Key[]-
expandedKeys(受控)展开的树节点Key[]-
defaultSelectedKeys默认选中的树节点(横向树形组件不存在该属性)Key[]-
defaultCheckedKeys默认选中复选框的树节点Key[]-
defaultExpandedKeys默认展开的树节点Key[]-
loadData异步加载数据((node: TreeNode, level: number) => Promise<any>)-
onSelect点击树节点触发((selectedKeys: Key[], info: SelectedInfo, checkedKeys?: Key[][]) => void)-
onExpand展开树节点触发((expandedKeys: Key[], info: { expand: boolean; node: TreeNode; }) => void)-
onDropdrop 触发时调用((info: DropInfo) => void)-
onDragEnddragend 触发时调用((info: DragInfo) => void)-
onDragEnterdragenter 触发时调用((info: DragInfo) => void)-
onDragLeavedragleave 触发时调用((info: DragInfo) => void)-
onDragOverdragover 触发时调用((info: DragInfo) => void)-
onDragStart开始拖拽时调用((info: DragInfo) => void)-

贡献者