UI Design System
build dev

树图

层级结构。建议英文标识:TreeChart。
稳定本期新增已接入

元信息

字段值
规范 IDcomponent.tree-chart
名称树图
二级分类图表(charts)
用途层级结构
描述建议英文标识:TreeChart。

预览

渲染为 echarts canvas 容器 <div data-slot="tree-chart">;正交布局,根节点定位后逐层展开,曲线/折线连边;叶子节点取色板次色,中间节点取首色;节点可点击触发 onSelect。

DSL 结构

DslNode
{
  "type": "TreeChart",
  "props": {
    "data": [
      {
        "name": "总经理",
        "children": [
          {
            "name": "技术部",
            "children": [
              {
                "name": "前端组"
              },
              {
                "name": "后端组"
              }
            ]
          },
          {
            "name": "市场部"
          }
        ]
      }
    ],
    "orient": "vertical",
    "edgeShape": "curve",
    "initialTreeDepth": -1
  }
}

何时用

何时使用

  • 层级结构的节点关系展示(组织架构、分类树、依赖树、文件目录)。
  • 节点-连线形态(对齐 echarts 2.2.4 tree 系列)的根到叶展开表达。

何时不用

  • 层级构成占比:用 PieChart / DonutChart(面积表达构成)。
  • 流向关系:用 SankeyChart。

变体

变体视觉形态适用场景
垂直展开orient: 'vertical'(TB,根在上)组织架构、向下展开的层级
水平展开orient: 'horizontal'(LR,根在左)向左对齐的目录 / 依赖树
折线连边edgeShape: 'polyline'规整的直角连线诉求

API 属性

属性类型默认值说明
dataRecord<string, unknown>[][]层级数据:通常为单根 [{ name, children: [...] }]
orient`'vertical''horizontal'`'vertical'
edgeShape`'curve''polyline'`'curve'
initialTreeDepthnumber2初始展开层级深度;-1 全部展开
title / height / onSelect——标题 / 高度 / 点击节点

使用规范

  • 数据为单根层级结构(name + children),层级 ≤ 5 保证可读。
  • 全展开(initialTreeDepth: -1)仅适合小树;大树用默认深度 + 节点点击展开。
  • 水平方向适合层级深、节点名长的数据。

正例

  • ✓ 组织架构:总经理 → 部门 → 小组三级,垂直曲线连边。

反例

  • ✕ 用树图表达占比(面积无语义,应使用饼图/矩形构成图)。

Design Token 映射

不适用:组件 tokenRefs 为空:样式 Token 数据尚未接入,三层映射(Primitive → Semantic → Component)待样式 Token 接入后回填。