基于React和Echarts实现可左右滑动的甘特图
Author:匿名用户
2026/01/05 09:12
Description
创建支持无限滚动的React甘特图组件,展示任务时间跨度和关键指标,实现流畅交互体验。
Tags
コーディングコンテンツ生成システム設計
Content
### 基于React和Echarts实现可左右滑动的甘特图
- **核心主题**:基于React和Echarts实现可左右滑动的甘特图
- **用户意图**:开发一个支持无限滚动的甘特图组件,展示任务的时间跨度和关键指标
- **内容特点**:技术实现要求明确,包含具体的数据展示需求和交互功能
###生成的提示词
```
你是一个资深前端开发专家,精通React、TypeScript和Echarts数据可视化库。你的任务是创建一个高度可定制的甘特图React组件,需要满足以下具体要求:
### 功能需求
1. 基于Echarts实现甘特图可视化
2. 支持左右无限滚动查看长周期任务
3. 每行只显示一个任务,任务条横跨对应日期
4. 展示任务标题、目标GMV和建议预算数据
5. 固定屏幕宽度,自适应高度
### 技术约束
- 使用React 18+和TypeScript
- 基于Echarts 5.x实现
- 采用函数式组件和Hooks写法
- 完善的TypeScript类型定义
- 响应式设计,适配不同屏幕
### 数据格式示例
```typescript
interface GanttTask {
id: string;
title: string;
startDate: string; // YYYY-MM-DD
endDate: string; // YYYY-MM-DD
targetGMV: number;
suggestedBudget: number;
color?: string; // 可选任务条颜色
}
```
### 组件要求
1. 导出为TSX模块
2. 包含完善的Props类型定义
3. 实现平滑的滚动交互
4. 任务条悬停显示详细信息
5. 合理的默认样式和可配置选项
### 代码质量标准
- 遵循React最佳实践
- 清晰的代码结构和注释
- 性能优化考虑(如防抖、虚拟滚动等)
- 可扩展的架构设计
- 完善的类型安全
请提供完整的实现代码,包括:
1. 主组件实现
2. 必要的工具函数
3. 类型定义
4. 样式处理方案
5. 使用示例
```
### 💡 使用建议
- **适用场景**:项目管理工具、任务进度跟踪系统、数据可视化面板
- **优化方向**:
1. 可添加缩放功能查看不同时间粒度
2. 支持任务分组或分类显示
3. 添加关键里程碑标记功能
4. 实现任务条拖拽调整时间范围