vue实现详情返回列表记录原始滚动位置
实现思路:
1、 页面使用内置组件 keep-alive 实现缓存
2、获取列表的滚动距离
3、返回列表页面恢复高度
在路由文件中添加meta信息,将keepalive设置为true
1 2 3 4 5 6 7 8 | { path: '/pubCustomerPage' , name: 'pubCustomerPage' , meta: { keepalive: true }, component: () => import ( '../module/customerTotal/pubCustomerPage.vue' ), }, |
监听列表中滚动的距离,在activated钩子中调用并做记录
1 2 3 4 5 6 7 8 9 10 11 12 | activated() { this .listenerFunction(); this .$refs.scrollbox.scrollTop = this .scrollTop; }, methods: { listenerFunction(e) { document.addEventListener( "scroll" , this .getScroll, true ); }, getScroll() { this .scrollTop = this .$refs.scrollbox.scrollTop; }, } |
在deactivated钩子在移除监听
1 2 3 | deactivated() { document.removeEventListener( "scroll" , this .listenerFunction); } |
如果从新的页面进来时候需要把滚动的值初始化
1 2 3 | if ( this .fromPath == 'customerTotal' || this .fromPath == "" ) { this .$refs.scrollbox.scrollTop = 0; } |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
2021-01-30 element表格实现复选框单选
2020-01-30 Vue Cli3配置文件优化处理
2019-01-30 vue常用指令
2019-01-30 vue实现简单的全选、反选、不选