选中画布上的功能块后,节点会发生意外的位移,影响用户体验。
- CSS Transform冲突:选中状态的CSS使用了
transform: scale(1.02),与ReactFlow的内部坐标系统冲突 - 悬停效果冲突:节点悬停时使用了
transform: scale(1.05),可能影响选择行为 - ReactFlow配置问题:选择和拖拽相关的配置存在冲突
- 将选中状态的
transform: scale(1.02)替换为更强的阴影效果 - 将悬停效果的
transform: scale(1.05)替换为阴影变化 - 使用动画边框来增强选中状态的视觉反馈
selectionOnDrag={false} // 关闭拖拽时的选择框
panOnDrag={true} // 启用拖拽平移
selectNodesOnDrag={true} // 启用拖拽选择节点
nodesDraggable={true} // 节点可拖拽
nodesConnectable={true} // 节点可连接
elementsSelectable={true} // 元素可选择- 选中状态:使用蓝色阴影和动画边框
- 悬停状态:增强阴影效果而不改变大小
- 过渡动画:仅使用
box-shadow的过渡效果
- ✅ 选中节点不再发生位移
- ✅ 保持良好的视觉反馈
- ✅ 拖拽和选择功能正常
- ✅ 多选功能不受影响
- 拖拽节点到画布
- 单击选中节点,观察是否有位移
- 使用Ctrl+单击多选节点
- 拖拽选中的节点,确认位置准确
- 测试Delete键删除功能