快捷键
GanttFlow 支持丰富的键盘快捷键,提高操作效率。
全局快捷键
| 快捷键 | 操作 | 说明 |
|---|---|---|
Ctrl/Cmd + + | 放大 | 放大时间轴视图 |
Ctrl/Cmd + - | 缩小 | 缩小时间轴视图 |
Ctrl/Cmd + 0 | 重置缩放 | 恢复默认缩放级别 |
Ctrl/Cmd + F | 搜索 | 打开任务搜索框 |
Ctrl/Cmd + E | 导出 | 打开导出菜单 |
导航快捷键
| 快捷键 | 操作 | 说明 |
|---|---|---|
← | 向左滚动 | 时间轴向左滚动 |
→ | 向右滚动 | 时间轴向右滚动 |
↑ | 向上滚动 | 任务列表向上滚动 |
↓ | 向下滚动 | 任务列表向下滚动 |
Home | 滚动到开始 | 滚动到甘特图开始日期 |
End | 滚动到结束 | 滚动到甘特图结束日期 |
Page Up | 上一任务 | 选中上一个任务 |
Page Down | 下一任务 | 选中下一个任务 |
视图切换快捷键
| 快捷键 | 操作 | 说明 |
|---|---|---|
D | 日视图 | 切换到日视图 |
W | 周视图 | 切换到周视图(默认) |
M | 月视图 | 切换到月视图 |
Q | 季度视图 | 切换到季度视图 |
Y | 年视图 | 切换到年视图 |
任务操作快捷键
TIP
任务操作快捷键需要在有选中任务时才能使用。
| 快捷键 | 操作 | 说明 |
|---|---|---|
Enter | 确认编辑 | 确认当前编辑 |
Escape | 取消编辑 | 取消当前编辑 |
Delete/Backspace | 删除任务 | 删除选中的任务 |
Ctrl/Cmd + C | 复制任务 | 复制选中的任务 |
Ctrl/Cmd + V | 粘贴任务 | 粘贴复制的任务 |
Ctrl/Cmd + D | 复制任务 | 复制任务(替代快捷键) |
Ctrl/Cmd + A | 全选 | 选中所有任务 |
Escape | 取消选择 | 取消所有选中 |
时间调整快捷键
| 快捷键 | 操作 | 说明 |
|---|---|---|
Shift + ← | 左移一天 | 将任务开始/结束日期左移一天 |
Shift + → | 右移一天 | 将任务开始/结束日期右移一天 |
Shift + ↑ | 缩短一天 | 将任务缩短一天 |
Shift + ↓ | 延长一天 | 将任务延长一天 |
Ctrl + ← | 左移一周 | 将任务左移一周 |
Ctrl + → | 右移一周 | 将任务右移一周 |
编辑模式快捷键
| 快捷键 | 操作 | 说明 |
|---|---|---|
F2 | 进入编辑 | 开始编辑任务名称 |
Tab | 下一个字段 | 移动到下一个编辑字段 |
Shift + Tab | 上一个字段 | 移动到上一个编辑字段 |
Ctrl + Enter | 确认并关闭 | 确认编辑并关闭编辑框 |
依赖关系快捷键
| 快捷键 | 操作 | 说明 |
|---|---|---|
L | 添加依赖 | 为选中任务添加依赖 |
Alt + Click | 创建依赖 | 点击创建从当前任务到目标任务的依赖 |
Shift + L | 删除依赖 | 删除选中任务的依赖 |
帮助快捷键
| 快捷键 | 操作 | 说明 |
|---|---|---|
? | 显示帮助 | 显示快捷键帮助面板 |
Ctrl/Cmd + / | 显示帮助 | 显示快捷键帮助面板 |
自定义快捷键
可以通过配置启用/禁用或重新映射快捷键:
tsx
<EnhancedGanttChart
tasks={tasks}
keyboardShortcuts={{
enabled: true,
customBindings: {
"ctrl+c": "copyTask",
"ctrl+v": "pasteTask",
"delete": "deleteTask",
"f2": "editTask"
},
disabled: ["ctrl+e"] // 禁用特定快捷键
}}
/>启用/禁用快捷键
tsx
// 禁用所有键盘快捷键
<EnhancedGanttChart
tasks={tasks}
keyboardShortcuts={false}
/>
// 只启用导航快捷键
<EnhancedGanttChart
tasks={tasks}
keyboardShortcuts={{
enabled: true,
navigation: true,
taskOperations: false,
viewSwitching: false
}}
/>快捷键冲突
WARNING
注意快捷键冲突 如果 GanttFlow 运行在页面内嵌环境中(如 iframe),快捷键可能与宿主页面冲突。
处理冲突
tsx
<EnhancedGanttChart
tasks={tasks}
keyboardShortcuts={{
enabled: true,
stopPropagation: true, // 阻止事件冒泡
preventDefault: true, // 阻止默认行为
ignoreContainer: false // 是否忽略容器内的事件
}}
/>