我无法通过Material-UI的Popover组件获得此行为。
我在这里有以下代码示例:https://codesandbox.io/s/88z3nq96jl 查看问题的步骤:
但是我不想在打开一个弹出窗口时单击两次,我需要它来关闭上一个弹出窗口并同时打开适当的弹出窗口。
我认为背景幕阻止了点击事件的传播,因此它背后的过滤器永远不会被点击。有办法避免这种情况吗?
答案 0 :(得分:4)
我使用的是 Material UI 4.11 和 React 16.13。
您可以将 disableEnforceFocus 设置为 true(防止点击被阻止)并禁用根 css 上的指针事件(允许点击通过背景)。
const styles = makeStyles<Theme>((theme) => ({
popover: {
pointerEvents: "none",
},
}));
<Popover
classes={{ root: classes.popover}}
disableEnforceFocus={true}
>
</Popover>
答案 1 :(得分:1)