【问题标题】:React Popover component - Material UIReact Popover 组件 - Material UI
【发布时间】:2020-09-07 14:08:52
【问题描述】:

我正在尝试制作一个调色板,其功能如下:当我将鼠标悬停在PaletteIcon 上时,它应该会弹出调色板并且我应该能够根据需要选择颜色。但是当我尝试选择颜色时悬停后,调色板消失了。是否有任何属性可以添加到纸质 React 组件或其他方式来实现?我检查了Paper API documentation,但没有找到任何解决方案。

这是CodeSandbox的链接。

【问题讨论】:

    标签: javascript reactjs material-ui


    【解决方案1】:

    TL;DR: 移除 pointerEvents: "none" 以监听弹出框内容中的事件,移除锚点的 (Fab) onMouseLeave 并在悬停时控制弹出框(onMouseEnteronMouseLeave ) 其内容或弹出框的背景。

    NL;PR:我修改了您的 Pastebin 以反映 change。或者,您可以选择使用state management API)。

    【讨论】:

    【解决方案2】:

    Popover 没有呈现在与您的 Button 相同的树中,它不是 Button 的后代,因此这种逻辑很难开箱即用地实现。

    您可以删除onMouseLeave 事件并在选择颜色后关闭弹出框。或者您可以通过单击按钮来控制弹出框。

    或者您可以将自定义 Popover 添加为 Button 元素的子元素,因此悬停将保留在父元素上。

    【讨论】:

      猜你喜欢
      • 2017-02-12
      • 2021-06-06
      • 2020-02-13
      • 2020-11-18
      • 1970-01-01
      • 2021-02-13
      • 2016-12-26
      • 1970-01-01
      • 2018-10-07
      相关资源
      最近更新 更多