仅当我们在模态内容之外单击时,才关闭覆盖

斯蒂芬882

我有一个使用样式组件创建的模式。它用覆盖物包裹。当我单击叠加层时,模态会自动关闭,但是当我单击模态的内容时,模态也会关闭。这个想法是仅当我们超出(box / content)时才关闭覆盖。我相信这与CSS有关。我们该如何解决?

为了能够重现该问题,我创建了一个沙箱:https : //codesandbox.io/s/zen-cache-q5w0n

巴斯·范·德·林登

您可以onClickModalBody组件定义和使用event.stopPropagation

stopPropagation根据mdn

事件接口的stopPropagation()方法可防止当前事件在捕获和冒泡阶段中进一步传播。

调整后的Modal组件版本

export const Modal: React.FC<ModalProps> = (props) => {
  return (
    <div>
      {props.isOpened && (
        <Overlay hide={props.hideModal}>
          <ModalContainer>
            <ModalPosition>
              <div className={"w-100"}>
                <ModalBody onClick={e => e.stopPropagation()}>{props.children}</ModalBody>
              </div>
            </ModalPosition>
          </ModalContainer>
        </Overlay>
      )}
    </div>
  );
};

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

react-responsive-modal :当我们在 div 外单击时如何防止关闭模态

当我在它之外单击时无法关闭模态

当我们关闭通知设置覆盖时,视图将出现未触发

Flutter:仅当我们使用local_notification单击通知时,如何执行操作?

当我们使用 React 从列表中单击第一项时打开模态

仅当我们输入单元格时才执行公式-无“ 0”值-Excel 2010

仅当我们想要用javascript映射时才使用Object,这样还可以吗?

当我们单击时,删除活动的类

当我们关闭开关时,我们如何取消选择该行

当我们在平板电脑上单击外部时,如何关闭bootstrap 3下拉菜单?

当我在模态框外单击时,如何关闭我的模态框?

在 iOS 上的模态 JS 之外单击时关闭模态

使用SwiftUI,我们在列表中安装了一个Button。为什么当我点击按钮以显示模态然后再次将其关闭时,模态消失了?

当我们添加内容类型的新实例时,如何显示内容部分的字段?

当我们覆盖 C 中的联合字段时发生了什么?

当我们打开和关闭弹出窗口时,重置或清除BootStrap验证消息

Google地图:仅当我单击中心并拖动时,才拖动圆圈

RecyclerView onClick()不起作用,而是仅当我单击单个元素时才响应

当我们在 swift4 中单击 fscalendar 中的下一个或上一个按钮时,我们如何仅滑动月或日

当我们单击按钮时如何更改图像?

当我们单击任意按钮(事件)时,使用JavaScript重置搜索结果

当我们单击相应项目时如何在 recyclerview 项目顶部显示弹出窗口

当我们单击asp.net中的选取框时显示弹出窗口

仅当我单击“新建”选项时,如何才能打开模态?

当我们在SQL中使用*时仅更改单列值

当我们仅知道地址时如何执行程序?

当我们执行someArray = []时,是否会收集Array内部的内容?

当我们编辑/创建正文内容时,TinyMCE编辑器未显示

当我们要查找的物理页面位于交换区域时的页面表内容