解决小程序滚动穿透问题

背景

实现一个模态框基本都没有问题,但是,当模态框里边的内容滚动起来以后,就会出现各种各样的让人摸不着头脑的问题,其中,最出名的想必就是滚动穿透。并且有时候小程序的模态框滚动在H5没有问题,但是在小程序中就会出现滚动穿透的问题(可能跟单独封装的uni-popup组件也有关)

什么是滚动穿透?

滚动穿透的定义:指我们滑动顶层的弹窗,但效果上却滑动了底层的内容。

例如:使用uni-popup弹出层组件,里边封装了picker-view滑动选择器,可以滑动选择地址或者时间等等,但是当打开弹出层进行滑动的时候,弹出层的内容没有滑动,打开弹出层的当前页面却滑动了,也就是滑动了底层内容。

具体解决方案分析如下:

父组件(滑出弹出层的页面)加入以下代码:

html 复制代码
<template>
  <page-meta :page-style="'overflow:' + (show ? 'hidden' : 'visible')"></page-meta>
  <view>页面内容<view>
 </template>
 <script>
 export default{
   data(){
     return {
     show: false, // 控制页面滚动,在打开弹窗的事件中,改变该变量值为true
     }
   }
 }
 </script>

封装的子组件示例:

html 复制代码
<template>
  <view>
    <uni-popup>
      <picker-view>
        <picker-view-column>
            <view>需要滚动选择的页面内容    </view>
         </picker-view-column>
      </picker-view>
    </uni-popup>
  <view>
 </template>
 <script>
 export default{
   data(){}
 }
 </script>

若有其他方案,欢迎讨论

相关推荐
土土哥V_araolin5 小时前
双迹美业模式系统开发(现成源码)
小程序·个人开发·零售
2501_9339072112 小时前
南京本凡科技,怎么选择专业小程序开发才能提升品牌竞争力?
科技·微信小程序·小程序
2501_9339072115 小时前
本凡科技提供的宁波小程序开发服务全面解决方案
科技·微信小程序·小程序
左师佑图15 小时前
微信小程序集成 Day.js 插件的完整解决方案
微信小程序·小程序
2501_9339072115 小时前
本凡科技提供宁波小程序服务与定制解决方案
科技·微信小程序·小程序
计算机徐师兄16 小时前
Java基于SpringBoot的运动健康小程序【附源码、文档说明】
spring boot·小程序·运动健康·java运动健康小程序·运动健康小程序·java运动健康微信小程序·运动健康微信小程序
Xpower 1716 小时前
OpenClaw实战:从零开发电商小程序(2)
人工智能·语言模型·小程序·gateway
2501_933907211 天前
宁波小程序开发服务与技术团队专业支持
科技·微信小程序·小程序
sheji34161 天前
【开题答辩全过程】以 基于微信小程序的少儿编程学习平台为例,包含答辩的问题和答案
学习·微信小程序·小程序
const_qiu1 天前
微信小程序自动化测试100%通过率实践
微信小程序·小程序