Qiankun+Ant Design Modal打开再关闭时overflow-y

492 阅读1分钟

现象:

1、访问第一个子应用

在我们的某一个子应用中,打开ant design的modal弹框,然后关闭 当前没有任何问题

html, body{
    overflow-y: hidden
}

正常消失

2、访问其他子应用

此时,依然正常

3、再回到第一个子应用

html, body{
    overflow-y: hidden
}

又回来了

原因

github.com/react-compo…

解决

1 主动增加一个class强制覆盖掉这个样式

2 在子应用mount之后,执行下移除rc-util-locker

document.querySelectorAll('[rc-util-key^="rc-util-locker"]') 直接移除掉这些元素 el.remove()

2 ant design model可设置 getContainer={false},来指定 Modal 挂载的 HTML 节点