70 lines
2.0 KiB
Markdown
70 lines
2.0 KiB
Markdown
# 问题-001: 右键菜单实现方式
|
||
|
||
**状态**:已解决
|
||
**优先级**:P0
|
||
**提出日期**:2025-01-28
|
||
**提出人**:开发团队
|
||
|
||
## 问题描述
|
||
|
||
如何实现连接树的右键菜单?需要确定:
|
||
1. Arco Design Tree组件是否支持右键菜单?
|
||
2. 如果不支持,如何自定义实现?
|
||
3. 菜单项有哪些?如何根据节点类型显示不同菜单?
|
||
|
||
## 背景
|
||
|
||
表结构查看功能需要通过右键菜单触发,但Arco Design Tree组件可能不直接支持右键菜单。
|
||
|
||
## 选项
|
||
|
||
### 选项1:使用Arco Design Dropdown组件(推荐)
|
||
- **优点**:
|
||
- 使用官方组件,样式统一
|
||
- 符合Arco Design设计规范
|
||
- 维护成本低
|
||
- **缺点**:
|
||
- 需要手动定位和显示
|
||
- 需要处理边界情况(菜单超出视口)
|
||
|
||
### 选项2:自定义右键菜单组件
|
||
- **优点**:
|
||
- 完全可控,可以自定义样式和行为
|
||
- 可以精确控制所有细节
|
||
- **缺点**:
|
||
- 需要自己实现定位、显示、隐藏等逻辑
|
||
- 维护成本较高
|
||
- 可能不符合Arco Design规范
|
||
|
||
### 选项3:使用第三方右键菜单库
|
||
- **优点**:
|
||
- 功能完整,开箱即用
|
||
- 可能有更多高级特性
|
||
- **缺点**:
|
||
- 增加依赖
|
||
- 可能不符合Arco Design设计风格
|
||
- 需要适配和定制
|
||
|
||
## 讨论记录
|
||
|
||
- 2025-01-28:已创建设计文档 [设计文档/架构设计/右键菜单系统设计.md](../../设计文档/架构设计/右键菜单系统设计.md)
|
||
|
||
## 决策
|
||
|
||
**已决策**:使用选项1 - Arco Design Dropdown组件
|
||
|
||
**决策记录**:[ADR-003: 右键菜单实现方案](../../决策记录/ADR-003-右键菜单实现方案.md)
|
||
|
||
**决策日期**:2025-01-28
|
||
|
||
**理由**:
|
||
1. 符合Arco Design设计规范
|
||
2. 维护成本低
|
||
3. 功能完整,支持定位和边界处理
|
||
4. 实现简单,不增加额外依赖
|
||
|
||
## 相关文档
|
||
|
||
- [设计文档/架构设计/右键菜单系统设计.md](../../设计文档/架构设计/右键菜单系统设计.md)
|
||
- [功能-001: 右键菜单系统实现](../待实现/功能-001-右键菜单系统实现.md)
|