我想建议以下更改,
Dialog
组件将<body>
样式设置为overflow: hidden;
。 并且在驳回时,此样式规则将被驳回。
但是,如果在显示 Dialog 时将组件从 DOM 中删除,由于上述样式,它会呈现整个主体不可滚动。
我建议componentWillUnmount
如下,
componentWillUnmount: function() {
// dialog has a side-effect if this not checked
document.body.style.overflow = 'auto';
}
或者更独立, componentDidMount
生命周期函数可以存储 body 样式的原始状态,并且在卸载时,可以恢复该样式。
+1 我现在遇到了这个问题,因为如果 Dialog 是否在 dom 中,我正在管理自己。
问题出在Overlay
组件内部。 overflow
属性仅在componentDidUpdate
。 但是当它被移除时,该属性永远不会被重置:/
+1
不适用于overflow-y: overlay;
CSS 属性:
最有用的评论
不适用于
overflow-y: overlay;
CSS 属性: