这个问题遇到几次了,每次都忘,记一下。

项目场景:

弹窗组件,有遮罩

问题描述:

组件内容超出可滑动,但不希望组件外层的页面滑动,使用 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,
    });
  }

 

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐