让el-table长个小脑袋,记住我的滚动位置

需求来源:

需求师:我说,老牧你这个页面再调整一下呗,我希望这个滚动条从详情页返回来的时候还能保持再当时的位置,你看这老是给我刷新置顶好麻烦。

我:行都行的,你是老大你说的算。(等着等我骑到你头上)【心理活动】

首先,我去网上查了一下(没做过先看看有没有现成的案例)。看了一圈大概都是keep-alive+data中的字段进行辅助。ok搞起!!!!!

第一步:keep-alive配置

js 复制代码
<template>
    <div>
        <keep-alive>
            <router-view v-if="alivePath.includes($route.path)"></router-view>
        </keep-alive>
        <router-view v-if="!alivePath.includes($route.path)"></router-view>
    </div>
</template>
data(){
    return{
        alivePath:["/projectMaintenance"],
    }
}

第二步:对应页面位置记录

js 复制代码
data(){
  return{
    scrollTop:0,
  }
},
methods:{
  restoreScroll() {
    if (this.scrollTop > 0) {
      setTimeout(() => {
        this.$refs.multipleTable.bodyWrapper.scrollTop=this.scrollTop
      }, 100);
    }
  },
},
activated() {
  // 当组件被重新激活时,恢复滚动位置
  this.$nextTick(() => {
    this.restoreScroll();
  });
},
beforeRouteLeave(to, from, next) {
  // 在离开前保存滚动位置
  if (this.$refs.multipleTable) {
    this.scrollTop = this.$refs.multipleTable.bodyWrapper.scrollTop;
  }
  next();
}

就这么点代码,你没看错哈哈哈哈。

有些地方我知道可能我写的不够好,所以我想说以上内容仅供参考

相关推荐
PineappleCoder4 分钟前
WebP/AVIF 有多香?比 JPEG 小 30%,<picture>标签完美解决兼容性
前端·面试·性能优化
Kaze_story5 分钟前
Vue第五章(1):scoped、组件通信
前端·javascript·vue.js
hayzone5 分钟前
Git 配置与使用全攻略(含工作流对比与 AI 协作)
前端
匠心网络科技6 分钟前
前端框架-Vue为何开发更高效?
前端·javascript·vue.js·前端框架
哆啦A梦15888 分钟前
商城后台管理系统 02 添加规格参数-动态表单
javascript·vue.js·elementui
大风起兮云飞扬丶8 分钟前
react大列表更新时优化
前端·react.js·前端框架
0思必得010 分钟前
[Web自动化] HTML5常见新增标签
前端·python·自动化·html5·web自动化
Alair‎11 分钟前
103React数据处理
开发语言·前端·javascript
黛色正浓15 分钟前
【React18+TypeScript】React 18 for Beginners
javascript·react.js·typescript
Zhi.C.Yue15 分钟前
React 状态更新中的双缓冲机制、优先级调度
前端·javascript·react.js