Dendrogram 生态树图
上一篇
IndentedTree 缩进树图
下一篇
OrganizationChart 组织结构图
Loading...
将事物或现象分解成树枝状结构,来系统地展示其构成关系或内在逻辑关系。
import { Dendrogram } from '@ant-design/graphs';
适用于展示数据的层级关系、明确问题的重点、寻求达成目标的合理步骤。
通用配置参考:图通用属性
| 属性 | 说明 | 类型 | 默认值 | 
|---|---|---|---|
| data | 数据 | Data | - | 
| labelField | 指定节点标签内容 - 从数据中选择一个字段,对应字段的值作为节点的标签 - 动态生成,将以节点数据为参数调用该函数,并使用返回值作为节点的标签 | string | ((node: NodeData) => string) | 节点 ID | 
| direction | 语法糖,设置树图节点的排布方向。当设置 layout.direction 时会以后者为准 | vertical|horizontal|radial | horizontal | 
| compact | 是否为紧凑模式 | boolean | false | 
| defaultExpandLevel | 默认展开层级,若不指定,将展开全部 | number | - | 
| layout | 生态树布局配置 | Layout | - | 
支持两种数据格式:
类型定义:
type TreeData = {id: string;children?: TreeData[];[key: string]: unknown;};
例如:
const data = {id: 'root',children: [{id: 'Child 1',value: 10,children: [{ id: 'Sub 1-1', value: 5 },{ id: 'Sub 1-2', value: 5 },],},{id: 'Child 2',value: 20,children: [{ id: 'Sub 2-1', value: 10 },{ id: 'Sub 2-2', value: 10 },],},],};
children 字段。const graphData = {nodes: [{ id: '1', data: { label: 'Node 1' }, children: ['2', '3'] },{ id: '2', data: { label: 'Node 2' }, children: ['4'] },{ id: '3', data: { label: 'Node 3' } },{ id: '4', data: { label: 'Node 4' } },],edges: [{ source: '1', target: '2' },{ source: '1', target: '3' },{ source: '2', target: '4' },],};
生态树布局,可配置的参数如下:
| 属性 | 说明 | 类型 | 默认值 | 
|---|---|---|---|
| type | 布局类型 | string | dendrogram | 
| direction | 布局方向 | LR|RL|TB|BT|H|V | RL | 
| nodeSep | 节点间距 | number | 40 | 
| rankSep | 层与层之间的间距 | number | 200 | 
| radial | 是否按照辐射状布局。若 radial 为 true,建议 direction 设置为 LR或RL |