- 问题描述:
因项目需要,将平台与应用模块分开开发、应用模块前端展示均需嵌入基础平台,使得前端入口、界面样式等达到统一。但因各模块开发均适用antd框架,应用模块前端布局适用ARE平台BasicLayout布局,导致应用模块中弹出模态框遮罩层与平台弹出模态框遮罩层不一致,如图所示:
平台弹框,全屏遮罩,菜单和页签均不能操作:
应用模块弹出框,仅遮罩右侧可视区域,菜单和页签切换不受影响
- 问题原因:
为了解决平台弹框全屏遮罩问题,查了antd官方文档,发现模特框弹出时可设定弹出区域属性getContainer,若不设置则默认使用当前页面最外层<div id= ‘root’>作为弹出区域,平台中root在最外层,因此全屏遮罩,而应用模块属于内嵌形式嵌入平台布局中,其自带的root区域为右侧可视区域,从而导致平台弹出框全屏遮罩
- 解决方案:
1.设置平台弹出框处于rootDiv
2.调整css样式,使得遮罩层遮罩区域收缩到右侧可视区域
- 代码展示: