uniapp 穿透滚动问题

在使用uni-ui和vantweapp的小程序开发中遇到popup的穿透滚动问题,可以通过page-meta标签配合overflow:hidden属性解决。当popup显示时,设置page-meta的overflow为hidden,隐藏页面滚动,关闭时恢复。此方法适用于vue2和vue3的项目。
摘要由CSDN通过智能技术生成

本人开发小程序用的内置的uni-ui,同时也用过vant为小程序提供的vant weapp的UI库,但是他们两个在用popup会出现同样的问题,就是穿透滚动问题,

在这里插入图片描述

这个时候就需要官方提供的page-meta标签,

上代码:

<template>
  <page-meta :page-style="popupShow ? 'overflow: hidden;' : ''"></page-meta>
  <view @click="handlecount"></view>
      <van-popup
      :show="popupShow"
      @close="onClosepopup">
				//这里是内容
    </van-popup>
</template>
<script setup lang="ts">
  const popupShow = ref(false)
  const onClosepopup = () => {
    popupShow.value = false
  }
  const handlecount = () => {
    popupShow.value = true
  }
</script>

原理很简单,定义一个变量,当popup展示的时候,让page-meta的over-flow:hidden,反之。uni-ui和vant weapp都可以用同样的方法### 注意page-meta只能是页面内的第一个节点

uni-ui官方说明:https://uniapp.dcloud.net.cn/component/uniui/uni-popup.html#%E5%BE%AE%E4%BF%A1%E5%B0%8F%E7%A8%8B%E5%BA%8F-app

vant weapp说明:https://vant-contrib.gitee.io/vant-weapp/#/popup

注意vue3和vue2写法,以及语法糖写法

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值