我正在尝试创建一个调色板,其功能类似于:当我将鼠标悬停在PaletteIcon
上时,它将弹出该调色板,并且我应该能够根据需要选择颜色。但是当我尝试选择颜色时,悬停后,调色板消失了。我可以在纸上添加任何属性来实现React组件吗?我检查了Paper API documentation,但没有找到任何解决方案。
这是CodeSandbox的链接。
答案 0 :(得分:0)
Popover
与Button不在同一棵树中,它也不是Button的后代,因此很难立即实现此逻辑。
选择颜色后,您可以删除onMouseLeave
事件并关闭Popover。或者,您也可以通过单击按钮来控制弹出窗口。
或者您可以将自定义Popover添加为Button元素的子元素,因此悬停将保留在父元素上。
答案 1 :(得分:0)
TL; DR::删除pointerEvents: "none"
以从弹出窗口内容中监听事件,删除锚定(Fab)onMouseLeave
,并在悬停时控制弹出窗口({{1 }},onMouseEnter
)的内容或弹出框的背景。
NL; PR::我修改了您的Pastebin以反映该change。另外,您可以选择使用state management API)。