【发布时间】:2022-01-15 14:51:25
【问题描述】:
我正在使用带有文本输入组件的popover component。每当用户点击空格键时,弹出框就会关闭。
我真正需要的是在用户按下空格键时阻止 Antd 调用 onVisibleChange。我试过在输入上使用event.stopPropogation() 和event.preventDefault,但没有运气。我在弹出框内有一堆下拉菜单、选择等,因此创建我自己的弹出框似乎很难处理 handleOutsideClick 功能。
我的 Popover 看起来像:
<Popover
content={content}
title={null}
trigger="click"
getPopupContainer={(triggerNode) => triggerNode}
onVisibleChange={onChange}
visible={showMenu}
>
TLDR:我只想在按下空格键时阻止弹出框关闭。但是,如果您在其外部单击,我也希望将其保持关闭状态。
【问题讨论】:
-
能否请您在codesandbox中分享您的代码,以便我可以帮助您?
-
如果popover里面的内容很多,用Modal组件ant.design/components/modal不是更好吗?我认为它具有您正在查看的行为,即默认情况下在外部单击时关闭模式。
-
@RajindRuparathna 对于我们的 UI,我们确实需要弹出窗口以通过打开它的按钮出现。弹出框/工具提示在各方面都很完美,除了能够按空格键。
标签: javascript html reactjs antd popover