VTable icon indicating copy to clipboard operation
VTable copied to clipboard

[Bug] 合并单元格情况下 鼠标在合并单元格区间来回移动onMouseEnter onMouseLeave触发多次

Open zhiaiing opened this issue 10 months ago • 5 comments

Version

1.17.0

Link to Minimal Reproduction

https://codesandbox.io/p/sandbox/react-dev-forked-9tpl65

Steps to Reproduce

合并单元格 鼠标在合并单元格区间来回移动onMouseEnter onMouseLeave触发多次

Current Behavior

合并单元格 鼠标在合并单元格区间来回移动onMouseEnter onMouseLeave触发多次

Image

Expected Behavior

onMouseEnter onMouseLeave 只在进入 移出时触发

Environment

- OS:
- Browser:
- Framework:

Any additional comments?

No response

zhiaiing avatar Mar 06 '25 06:03 zhiaiing

使用 @visactor/react-vtable 时 在合并单元格内自定义内容时 VGroup 上使用 react: { element:

11111
}
11111
会渲染多个

zhiaiing avatar Mar 06 '25 06:03 zhiaiing

你上面的问题是:因为text不是group的子元素 本来就应该是会触发leave enter的 下面的问题可以单独提个issue 一个issue专门讨论一个问题 记得附上demo

fangsmile avatar Mar 06 '25 11:03 fangsmile

Image 在合并单元格的group上使用onMouseEnter onMouseLeave 都会触发多次

zhiaiing avatar Mar 07 '25 00:03 zhiaiing

合并单元格这块的渲染逻辑可能有点问题, 在渲染时 合并单元格中的cell都会单独渲染一遍, 渲染自己cell范围内的内容。 在每个cell内都注册了 onMouseEnter onMouseLeave, 所以在合并单元格内范围内移动会触发多次onMouseEnter onMouseLeave

Image

在合并单元格上VGroup 上使用 react: { element:

1111
} 渲染多个也应该是这个原因

zhiaiing avatar Mar 07 '25 02:03 zhiaiing

嗯 我们是按没合并之前的单元格去组织场景树 每个单元格都会对应一个customLayout的内容。是预期内的 @zhiaiing

fangsmile avatar Mar 10 '25 03:03 fangsmile