react,页面弹窗时,阻止页面滚动
·
这个问题遇到几次了,每次都忘,记一下。
项目场景:
弹窗组件,有遮罩
问题描述:
组件内容超出可滑动,但不希望组件外层的页面滑动,使用 onScroll={(e)=>{e.stopPropagation()}}阻止冒泡无效
原因分析:
阻止外层就作用在外层上
解决方案:
/**
* 显示组件
*/
show(text: string) {
document.body.style.overflow = 'hidden';
this.setState({
show: true,
});
}
/**
* 隐藏组件
*/
hide = () => {
document.body.style.overflow = 'auto';
this.setState({
show: false,
});
}
更多推荐
所有评论(0)