列表滚动保存当前位置,跳转详情页面返回后继续当前位置
思路如下:
// 1. 监听页面的滚动(onPageScroll 生命周期) // scrollTop是data中定义的变量,可以将页面的滚动值赋值保存下来。 onPageScroll(e) { this.scrollTop = e.scrollTop; }
// 2.离开当前页面时,保存到缓存中 uni.setStorage({ key:"newsTop", data:this.scrollTop })
// 3. 返回列表页面时,onShow函数中获取缓存值 // 注意:在onshow中如果要使用uni.pageScrollTo方法让页面滚动到指定位置,需要使用定时器才可以
uni.getStorage({ key:"newsTop", success:(res)=> { console.log(res.data); var timer = setTimeout(()=>{ uni.pageScrollTo({ scrollTop: res.data, //距离页面顶部的距离 duration: 0 }); clearTimeout(timer); },100) } })
// 4.列表返回到其他页面时,则需要进行缓存的清空 onBackPress(e) { if(e.from == "backbutton"){ uni.setStorage({ key:"newsTop", data:0 }) uni.navigateBack(); return true; } }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 单线程的Redis速度为什么快?
· 展开说说关于C#中ORM框架的用法!
· Pantheons:用 TypeScript 打造主流大模型对话的一站式集成库
· SQL Server 2025 AI相关能力初探
· 为什么 退出登录 或 修改密码 无法使 token 失效