Skip to content

Latest commit

 

History

History
44 lines (36 loc) · 1.6 KB

File metadata and controls

44 lines (36 loc) · 1.6 KB

位移Bug修复说明

问题描述

选中画布上的功能块后,节点会发生意外的位移,影响用户体验。

问题原因

  1. CSS Transform冲突:选中状态的CSS使用了 transform: scale(1.02),与ReactFlow的内部坐标系统冲突
  2. 悬停效果冲突:节点悬停时使用了 transform: scale(1.05),可能影响选择行为
  3. ReactFlow配置问题:选择和拖拽相关的配置存在冲突

修复方案

1. 移除Transform缩放效果

  • 将选中状态的 transform: scale(1.02) 替换为更强的阴影效果
  • 将悬停效果的 transform: scale(1.05) 替换为阴影变化
  • 使用动画边框来增强选中状态的视觉反馈

2. 优化ReactFlow配置

selectionOnDrag={false}        // 关闭拖拽时的选择框
panOnDrag={true}              // 启用拖拽平移
selectNodesOnDrag={true}      // 启用拖拽选择节点
nodesDraggable={true}         // 节点可拖拽
nodesConnectable={true}       // 节点可连接
elementsSelectable={true}     // 元素可选择

3. 视觉效果替代方案

  • 选中状态:使用蓝色阴影和动画边框
  • 悬停状态:增强阴影效果而不改变大小
  • 过渡动画:仅使用 box-shadow 的过渡效果

修复后的效果

  • ✅ 选中节点不再发生位移
  • ✅ 保持良好的视觉反馈
  • ✅ 拖拽和选择功能正常
  • ✅ 多选功能不受影响

测试建议

  1. 拖拽节点到画布
  2. 单击选中节点,观察是否有位移
  3. 使用Ctrl+单击多选节点
  4. 拖拽选中的节点,确认位置准确
  5. 测试Delete键删除功能