解决小程序滚动穿透问题

背景

实现一个模态框基本都没有问题,但是,当模态框里边的内容滚动起来以后,就会出现各种各样的让人摸不着头脑的问题,其中,最出名的想必就是滚动穿透。并且有时候小程序的模态框滚动在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>

若有其他方案,欢迎讨论

相关推荐
游戏开发爱好者85 小时前
iOS 崩溃日志分析工具全指南,多工具协同构建稳定性分析体系
android·macos·ios·小程序·uni-app·cocoa·iphone
00后程序员张16 小时前
如何提高 IPA 安全性 多工具组合打造可复用的 iOS 加固与反编译防护体系(IPA 安全 iOS 加固 无源码混淆 Ipa Guard 实战)
android·安全·ios·小程序·uni-app·iphone·webview
游戏开发爱好者817 小时前
Fiddler抓包实战教程 从安装配置到代理设置,详解Fiddler使用方法与调试技巧(HTTPHTTPS全面指南)
前端·测试工具·小程序·https·fiddler·uni-app·webview
sen_shan18 小时前
《微信小程序》第五章:登录-API封装
微信小程序·小程序
2501_916007471 天前
Fastlane 结合 开心上架 命令行版本实现跨平台上传发布 iOS App
android·ios·小程序·https·uni-app·iphone·webview
00后程序员张1 天前
iOS 26 内存占用监控 多工具协同下的性能稳定性分析实战
android·macos·ios·小程序·uni-app·cocoa·iphone
2501_915909061 天前
iOS 26 性能监控工具有哪些?多工具协同打造全方位性能分析体系
android·macos·ios·小程序·uni-app·cocoa·iphone
simon_93491 天前
微信小程序(H5)上传文件到阿里云 OSS(使用 STS 临时凭证)
阿里云·微信小程序·小程序·html5
2501_915918411 天前
uni-app 上架 iOS 应用全流程 从云打包到开心上架(Appuploader)免 Mac 上传发布指南
android·macos·ios·小程序·uni-app·iphone·webview