blueprintjs - BlueprintJS 覆盖/门户未正确关闭
问题描述
我是 Blueprint 的新手,但我有一个使用 BP 的非常简单的覆盖实现。我遇到的问题是,在用户单击背景后,门户并没有“消失”。内容消失了,出于所有目的,覆盖似乎已关闭,但您根本无法与页面交互。
叠加层:
<Overlay isOpen={open === 'error'} onClose={onClose} >
<Card>
There was an error.
</Card>
</Overlay>
onClose 只是将open
值设置为空字符串。
解决方案
我解决了这个问题,为了让内容显示在屏幕中间,我使用了覆盖类display: flex
。height: 100vh
这样,容器/门户就涵盖了它背后的内容。只需将高度设置为 0 w/一个过渡就可以很好地过渡并解决问题:
const StyledOverlay = styled(Overlay)`
display: flex;
justify-content: center;
align-items: center;
height: ${props => props.isOpen ? '100vh' : 0};
transition: height 250s
`;
推荐阅读
- ios - 创建一个数组,将用户输入拆分为 6 个不同的文本字段(swift)
- ansible - 如何仅在具有 if/when 条件的组中的一台主机上运行 delegate_to 任务?
- ios - AFNetworking 连接检测并返回一个变量
- html - Vue 和 API:显示图像
- python - Python/Pandas:跨列识别重复项
- docker - 在单台机器上自动部署 dockerized 应用程序
- maven - 在多线程中构建 Maven 项目时发出警告
- laravel - 当数据库中没有数据时,无法显示警报“无数据”
- wordpress - WooCommerce - 删除具有变化的产品页面上的最高价格
- css - 如何使用 flexbox 将内容包含在网格中?