在 DevExtreme Gantt 组件中,箭头(依赖箭头 / 依赖线 / 依赖关系) 是指不同任务之间的 依赖关系连线,用于表达任务的 先后顺序、依赖关系,相当于甘特图的核心之一。
🔍 1. 箭头的作用
功能 | 说明 |
---|---|
展示任务顺序关系 | 哪些任务是先做、哪些任务是后做 |
控制自动排期 | 如果是流程模式,下游任务的开始时间由上游任务的结束时间决定 |
表现关键路径 | 可以展示哪些任务是关键路径上的 |
帮助理解项目流程 | 项目管理人员可以直观了解任务流转 |
支持多种依赖类型 | DevExtreme 支持多种依赖类型,比如:FS、SS、FF、SF(详见下方) |
🔧 2. 箭头类型说明
类型简称 | 英文全称 | 关系描述 |
---|---|---|
FS | Finish to Start | 任务 A 完成后,任务 B 才能开始(最常见) |
SS | Start to Start | 任务 A 和任务 B 必须同时或几乎同时开始 |
FF | Finish to Finish | 任务 A 和任务 B 必须同时或几乎同时结束 |
SF | Start to Finish | 任务 A 开始后,任务 B 才能结束(很少见) |
✅ 3. DevExtreme Gantt 中如何使用箭头
3.1 定义依赖关系(dependencies)
Gantt 的 dependencies
属性是用来定义箭头的:
1 2 3 4 5 6 |
<DxGantt tasks={tasks} dependencies={dependencies} taskListWidth={300} /> |
3.2 dependencies 的格式
1 2 3 4 5 |
const dependencies = [ { id: 1, predecessorId: 1, successorId: 2, type: 0 }, // 1 → 2 { id: 2, predecessorId: 2, successorId: 3, type: 0 }, // 2 → 3 ]; |
字段说明:
字段 | 作用 |
---|---|
id | 依赖关系的唯一 ID |
predecessorId | 前置任务 ID |
successorId | 后置任务 ID |
type | 依赖类型(0: FS, 1: SS, 2: FF, 3: SF) |
3.3 示例
1 2 3 4 5 6 7 8 9 |
const tasks = [ { id: 1, title: '任务 A', start: new Date(), end: new Date() }, { id: 2, title: '任务 B', start: new Date(), end: new Date() }, ]; const dependencies = [ { id: 1, predecessorId: 1, successorId: 2, type: 0 }, ]; |
效果:任务 A 完成 → 任务 B 才能开始,箭头从 A 指向 B。
🔍 4. 如何理解
- 箭头 = 任务间的逻辑顺序
- 视觉上清楚展现先做哪个、后做哪个
- 和时间轴配合,形成完整的排期依赖
⚙️ 5. 进阶用法
- 可以通过拖拽自动创建箭头(开启
allowDependencyInsert
) - 可以监听箭头的添加、删除
- 箭头改变后,可以选择是自动排期,还是只做视觉展示