微信小程序中弹窗禁止页面滚动

在小程序弹窗时,外部页面禁止滚动, 可以在最外部容器设置catchtouchmove

但是如果弹窗内部也需要滚动,需要用scroll-view包裹,并设置scroll-y

catchtouchmove需要接收个方法,不然会一直警告

<view class="box">占位</view>
<view class="pop" catchtouchmove="touchMove">
 <view class="popbg"></view>
 <view class="popup">
  <scroll-view scroll-y>
   <view class="row" wx:for="{{10}}" wx:key="index">{{index}}</view>
  </scroll-view>
 </view>
</view>
Page({
 touchMove() {
  return
 }
})
.box {
 height: 120vh;
}

.popbg {
 position: fixed;
 top: 0;
 left: 0;
 width: 100%;
 height: 100%;
 background: rgba(0, 0, 0, 0.7);
}

.popup {
 position: fixed;
 top: 20%;
 left: 50%;
 transform: translate(-50%, 0);
 width: 70%;
 background: #fff;
 z-index: 1;
}

scroll-view {
 height: 500rpx;
}

.row {
 width: 100%;
 height: 200rpx;
}

 

posted @ 2022-06-29 10:25  Magi黄元  阅读(3004)  评论(0编辑  收藏  举报