uniapp微信小程序page-container导致滚动失效/向下偏移,返回上一页/左滑取消返回上一页

本文主要是介绍uniapp微信小程序page-container导致滚动失效/向下偏移,返回上一页/左滑取消返回上一页,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

项目场景:

提示:这里简述项目相关背景:

前提:  使用uniapp来做的微信小程序

有两级tab页面   要求手机的两边往中间滑时 要求(调用手机的物理返回按钮--有震动感) 返回上一页。具体如下图箭头所示:


问题描述

提示:这里描述项目中遇到的问题:

uniapp中有钩子函数 onBackPress(e) {} 可以返回上一页面(代码如下)但是此方法有平台差异,以为微信不支持这个方法

onBackPress(options){//这里是监听安卓物理返回键或者侧滑左滑返回方式if(options.from=='navigateBack'){return false}else if(options.from=='backbutton'){//物理键默认返回上一级,我们在这里进行了处理this.goBack()//走我们自己的方法return true}else if('xxxx){//也可以是其他方式}}

解决方案:

提示:这里填写该问题的具体解决方案:page-container

注: page-container属性

属性类型描述
showBoolean是否显示容器组件。默认值: false
z-indexNumberz-index 层级。默认值: 100
overlayBoolean是否显示遮罩层。默认值: true
durationNumber动画时长,单位毫秒。
默认值: 300
positionString弹出位置。可选值: top、bottom、right、center。
默认值: bottom
roundBoolean是否显示圆角。默认值: false
close-on-slide-downBoolean是否在下滑一段距离后关闭。
默认值: false
overlay-styleString自定义遮罩层样式。
custom-styleString自定义弹出层样式。
onBeforeEnterEventHandle进入前触发。
onEnterEventHandle进入中触发。
onEnterCancelledEventHandle进入被打断时触发(通过 a: if 打断时不会触发)。
onAfterEnterEventHandle进入后触发。
onBeforeLeaveEventHandle离开前触发。
onLeaveEventHandle离开中触发。
onLeaveCancelledEventHandle离开被打断时触发(通过 a: if 打断时不会触发)。
onAfterLeaveEventHandle离开后触发。
onClickOverlayEventHandle点击遮罩层时触发。

1‌:方式一

 在uniapp微信小程序中,当添加侧滑功能后,由于page-container组件的使用,可能会导致页面滚动失效。‌这是因为page-container组件会改变当前页外层page标签的定位为position>,从而影响了页面的正常滚动。为了解决这个问题,可以通过添加特定的CSS样式来恢复页面的滚动功能。

解决这个问题的方法主要包括给外层page标签添加特定的CSS样式,具体为:

page{

  position: relative !important;

  top: 0px !important;

}

这些样式可以覆盖page-container自动添加的样式,从而恢复页面的正常滚动。这种方法已经在多个场景中被验证有效,包括在微信小程序中使用page-container时遇到的问题,以及在uniapp环境中使用page-container导致的滚动失效问题。通过添加这些样式,可以解决由于侧滑功能触发后,页面无法上下滚动的问题‌12。

此外,确保在配置page-container组件时,正确设置相关属性

2:方式二(如果方式一无效)

<template><view ><view class="" style="height: 100rpx;"></view><page-container :overlay="false" :show="isShowPage" @beforeleave="beforeleave" custom-style="height:calc(100vh - 100rpx);overflow:scroll"><view class="" v-for="(item,index) in 100" :key="index">测试{{index}}</view></page-container></view>
</template><script>export default {data() {return {isShowPage:true,};},onPullDownRefresh() {},created(options) {},watch: {},onReady() {},methods: {beforeleave(){this.isShowPage = false; //这个很重要,一定要先把弹框删除掉 uni.reLaunch({url: "/pages/index/indexNew"});},},onReachBottom: function() {},onPageScroll(e) {},//#ifdef MPonShareAppMessage() {return {title: this.shareInfo.title,path: '/pages/index/index'};},//分享到朋友圈onShareTimeline: function() {return {title: this.shareInfo.title,imageUrl: this.shareInfo.img};}//#endif};
</script><style lang="scss"></style>

这篇关于uniapp微信小程序page-container导致滚动失效/向下偏移,返回上一页/左滑取消返回上一页的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!


原文地址:
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.chinasem.cn/article/1121581

相关文章

Python程序打包exe,单文件和多文件方式

《Python程序打包exe,单文件和多文件方式》:本文主要介绍Python程序打包exe,单文件和多文件方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录python 脚本打成exe文件安装Pyinstaller准备一个ico图标打包方式一(适用于文件较少的程

Python函数返回多个值的多种方法小结

《Python函数返回多个值的多种方法小结》在Python中,函数通常用于封装一段代码,使其可以重复调用,有时,我们希望一个函数能够返回多个值,Python提供了几种不同的方法来实现这一点,需要的朋友... 目录一、使用元组(Tuple):二、使用列表(list)三、使用字典(Dictionary)四、 使

Python程序的文件头部声明小结

《Python程序的文件头部声明小结》在Python文件的顶部声明编码通常是必须的,尤其是在处理非ASCII字符时,下面就来介绍一下两种头部文件声明,具有一定的参考价值,感兴趣的可以了解一下... 目录一、# coding=utf-8二、#!/usr/bin/env python三、运行Python程序四、

如何基于Python开发一个微信自动化工具

《如何基于Python开发一个微信自动化工具》在当今数字化办公场景中,自动化工具已成为提升工作效率的利器,本文将深入剖析一个基于Python的微信自动化工具开发全过程,有需要的小伙伴可以了解下... 目录概述功能全景1. 核心功能模块2. 特色功能效果展示1. 主界面概览2. 定时任务配置3. 操作日志演示

Redis迷你版微信抢红包实战

《Redis迷你版微信抢红包实战》本文主要介绍了Redis迷你版微信抢红包实战... 目录1 思路分析1.1hCckRX 流程1.2 注意点①拆红包:二倍均值算法②发红包:list③抢红包&记录:hset2 代码实现2.1 拆红包splitRedPacket2.2 发红包sendRedPacket2.3 抢

无法启动此程序因为计算机丢失api-ms-win-core-path-l1-1-0.dll修复方案

《无法启动此程序因为计算机丢失api-ms-win-core-path-l1-1-0.dll修复方案》:本文主要介绍了无法启动此程序,详细内容请阅读本文,希望能对你有所帮助... 在计算机使用过程中,我们经常会遇到一些错误提示,其中之一就是"api-ms-win-core-path-l1-1-0.dll丢失

SpringBoot后端实现小程序微信登录功能实现

《SpringBoot后端实现小程序微信登录功能实现》微信小程序登录是开发者通过微信提供的身份验证机制,获取用户唯一标识(openid)和会话密钥(session_key)的过程,这篇文章给大家介绍S... 目录SpringBoot实现微信小程序登录简介SpringBoot后端实现微信登录SpringBoo

uniapp小程序中实现无缝衔接滚动效果代码示例

《uniapp小程序中实现无缝衔接滚动效果代码示例》:本文主要介绍uniapp小程序中实现无缝衔接滚动效果的相关资料,该方法可以实现滚动内容中字的不同的颜色更改,并且可以根据需要进行艺术化更改和自... 组件滚动通知只能实现简单的滚动效果,不能实现滚动内容中的字进行不同颜色的更改,下面实现一个无缝衔接的滚动

使用雪花算法产生id导致前端精度缺失问题解决方案

《使用雪花算法产生id导致前端精度缺失问题解决方案》雪花算法由Twitter提出,设计目的是生成唯一的、递增的ID,下面:本文主要介绍使用雪花算法产生id导致前端精度缺失问题的解决方案,文中通过代... 目录一、问题根源二、解决方案1. 全局配置Jackson序列化规则2. 实体类必须使用Long封装类3.

Idea插件MybatisX失效的问题解决

《Idea插件MybatisX失效的问题解决》:本文主要介绍Idea插件MybatisX失效的问题解决,详细的介绍了4种问题的解决方法,具有一定的参考价值,感兴趣的可以了解一下... 目录一、重启idea或者卸载重装MyBATis插件(无需多言)二、检查.XML文件与.Java(该文件后缀Idea可能会隐藏