我有一个React菜单项,它应该在悬停时浮出一个子组件。当子组件info-icon
悬停时,应该会弹出一个工具提示。它看起来像这样:
下面是组件:
const TestFunc = (props) => {
const { icon, label, data } = props;
const [hovering, setState] = useState(false);
return (
<div className="menu-item" onMouseOver={() => setState(true)} onMouseOut={() => setState(false)}>
<div className="menu-item-element">
<div className="sub-menu-item-element">{icon}</div>
<div className="sub-menu-item-element">{label}</div>
</div>
{hovering ?
<Tooltip
id="base"
align="top"
content={data.tooltipContent}
variant="learnMore"
className="menu-item-element"
position="overflowBoundaryElement"
/>
: null
}
</div>
);
但是当我将鼠标悬停在info图标上时,这会触发mouseOut
函数,然后图标消失,然后触发mouseOver
函数,它就像这样循环,info图标一遍又一遍闪烁。
我该如何解决这个问题?
发布于 2019-06-20 03:38:38
在图标中使用onMouseLeave
,以防止气泡到父对象。或e.stopPropagation()
https://stackoverflow.com/questions/56674678
复制相似问题