当前位置: 首页 > news >正文

[uni-app]记录APP端跳转页面自动滚动到底部的bug

文章目录

  • bug描述
  • 原因
    • 分析:
  • 处理方案

bug描述

1.点击的A页面, 跳转到了B页面, 第一次页面正常显示
2.从B页面返回A页面
3.A页面不进行任何操作,再次点击A页面进入B页面
4.B页面自动滚动到底部.

原因

看一段A页面代码

					let that = thisthis.defaultScrollTop = uni.getStorageSync('detailScrollTop')this.$nextTick(() => {that.getInfoHeight();that.getPostion()clearTimeout(this.timer)this.timer = setTimeout(() => {if (that.courseInfo.unlock != 0 && that.courseInfo.catalog && that.courseInfo.catalog.length) {if (this.firstLoad) {that.switchClick(2)} else {if (!this.firstLoad) {console.log('jump to page')console.log(this.defaultScrollTop, '----')uni.pageScrollTo({scrollTop: this.defaultScrollTop,duration: 150})}}this.firstLoad = false}}, 300)})

分析:

此处代码仅在 onLoad中调用, 按理说和点击事件毫无关系

最后排查发现 问题出在事件循环上

this.$nextTick(()=>{})

在这里插入图片描述
所以在路由跳转后, A页面的该回调函数被调用,此时的回调触发uni.pageScrollTo
就造成了在B页面诡异的滚动到底部问题

处理方案

移除 jsthis.$nextTick(()=>{}) 或者在A页面做逻辑判断

相关文章:

  • WPF显示3D图形
  • 第十篇 基于JSP 技术的网上购书系统——管理员后台管理主界面、订单管理、产品管理功能实现(网上商城、仿淘宝、当当、亚马逊)
  • 『亚马逊云科技产品测评』活动征文|开发一个手机官网
  • CommonModule.dll动态链接库(DLL)文件丢失的处理方法
  • SD3403/SS928 烧录 Uboot Kernel Rootfs是什么
  • 全国见!飞桨星河社区五周年,邀你共赴大模型盛宴!
  • Python scipy.spatial.distance.pdist() 函数的用法
  • Node.js之TCP(net)
  • Spring相关
  • 【变换器Transformers · 巴伦 - - 平衡与非平衡Baluns and ununs】
  • 数字化转型背景下,企业如何做好知识管理?
  • Linux | C语言中volatile关键字的理解
  • Day01 嵌入式 -----流水灯
  • C#中.NET 7.0 Windows窗体应用通过EF访问已有数据库并实现追加、删除、修改、插入记录
  • XCTF(攻防世界)---Web新手区题目WP
  • [case10]使用RSQL实现端到端的动态查询
  • 230. Kth Smallest Element in a BST
  • CSS3 聊天气泡框以及 inherit、currentColor 关键字
  • dva中组件的懒加载
  • ES6核心特性
  • JavaScript DOM 10 - 滚动
  • mysql常用命令汇总
  • Mysql优化
  • Python_网络编程
  • spring boot下thymeleaf全局静态变量配置
  • SpringBoot 实战 (三) | 配置文件详解
  • Three.js 再探 - 写一个跳一跳极简版游戏
  • Vue学习第二天
  • Vue组件定义
  • 编写符合Python风格的对象
  • 看图轻松理解数据结构与算法系列(基于数组的栈)
  • 前嗅ForeSpider采集配置界面介绍
  • 强力优化Rancher k8s中国区的使用体验
  • 正则学习笔记
  • 400多位云计算专家和开发者,加入了同一个组织 ...
  • 正则表达式-基础知识Review
  • $().each和$.each的区别
  • (07)Hive——窗口函数详解
  • (非本人原创)我们工作到底是为了什么?​——HP大中华区总裁孙振耀退休感言(r4笔记第60天)...
  • (转)ABI是什么
  • (转载)hibernate缓存
  • .net 8 发布了,试下微软最近强推的MAUI
  • .NET 8 中引入新的 IHostedLifecycleService 接口 实现定时任务
  • .net core 3.0 linux,.NET Core 3.0 的新增功能
  • .NET MVC、 WebAPI、 WebService【ws】、NVVM、WCF、Remoting
  • .NET/C# 利用 Walterlv.WeakEvents 高性能地定义和使用弱事件
  • .Net的DataSet直接与SQL2005交互
  • .NET简谈设计模式之(单件模式)
  • .NET教程 - 字符串 编码 正则表达式(String Encoding Regular Express)
  • .net解析传过来的xml_DOM4J解析XML文件
  • .net开发时的诡异问题,button的onclick事件无效
  • .NET是什么
  • .sdf和.msp文件读取
  • @ConditionalOnProperty注解使用说明
  • @RequestMapping-占位符映射