组件通过 Canvas 在父子节点之间绘制连接线,所有连线相关配置通过 line prop 统一管理。
通过 line.style 切换连线风格:
| 值 | 效果 |
|---|---|
'curve'(默认) |
贝塞尔曲线,视觉更柔和 |
'straight' |
90° 折线,更工整 |
自定义连线颜色,默认 '#d9d9d9':
自定义连线粗细(px),默认 1.5:
开启后,连线上的小圆点粒子会从子节点沿线条流向父节点,用 requestAnimationFrame 驱动动画循环,直观展示数据溯源关系:
粒子颜色默认跟随
line.color,运动路径跟随line.style。详细配置项见 API - SourceAnimationOptions。
.tree-body 容器value 变化或容器尺寸变化,通过 useLayoutEffect 在浏览器 paint 前重绘,避免闪烁ResizeObserver 监听容器尺寸变化,窗口 resize 事件作为兜底data-cell-id 属性,Canvas 通过 querySelector 获取 DOM 位置后计算坐标