Ant Design ModalForm 遇到打开二级弹框关闭两个弹框后页面滚动条失效的问题。
原因:
ModalForm弹框打开时会给body标签上加style=“width: calc(100% - 15px); overflow: hidden;”
内联样式来隐藏页面的滚动条,关闭时会清除这个style还原滚动条。在ModalForm弹框里面再打开一个二级ModalForm弹框,关闭两个弹框后就会出现body标签上style没清理的问题导致页面滚动条没发还原的问题。
解决方法如下:
在一级弹框ModalForm关闭后清理给body加的style,具体代码如下:
<ModalForm
modalProps={{
afterClose: () => {
if (document.getElementsByTagName('body')[0].hasAttribute('style')) {
document.getElementsByTagName('body')[0].removeAttribute('style');
}
},
}}>
</ModalForm>