vue3滚动条重置

由于单页面应用的原理,使用vue搭建的项目在路由切换时并不会刷新整个页面。因此在有滚动条的页面会存在滚动条不能自动重置的问题。在最近的项目中就遇到了这种问题,因此记录一下。

1.切换路由:

<el-main>

<!--<router-view />-->

<router-view v-slot="{ Component }">

<transition name="fade-slide" mode="out-in" appear>

<component :is="Component" id="main" />

</transition>

</router-view>

</el-main>
onBeforeRouteUpdate((to, from) => {

// 由于路由设置了0.3s过渡效果,所以此处设置了0.3s定时器。避免页面切换效果突兀。

setTimeout(() => {

document.getElementById("main").scrollIntoView({

behavior: "smooth",

block: "start",

});

}, 300);

})

2.el-table

<el-table ref="tableRef"></el-table>
onUpdated(() => {

console.log(tableRef.value)

if(tableRef.value != null) {

tableRef.value.setScrollTop(0)

tableRef.value.setScrollLeft(0)

}

})

相关推荐
努力往上爬de蜗牛2 分钟前
react native token失效 刷新机制
javascript·react native·react.js
Sailing4 分钟前
🚀 Promise.then 与 async/await 到底差在哪?(这次彻底讲明白)
前端·javascript·面试
鹤鸣的日常5 分钟前
Vue + element plus 二次封装表格
前端·javascript·vue.js·elementui·typescript
JarvanMo11 分钟前
Flakeproof - 自动化 Flutter 的用户体验 (UX) 测试
前端
北慕阳13 分钟前
速成Vue,自己看
前端·javascript·vue.js
shanyanwt14 分钟前
1分钟解决iOS App Store上架图片尺寸问题
前端·ios
摇滚侠16 分钟前
HTML5,CSS3,开启浮动布局后,主轴和侧轴的概念
前端·css3·html5
少云清18 分钟前
【软件测试】4_基础知识 _HTML
前端·html
Want59518 分钟前
HTML跳动的爱心①
前端·html
小兔崽子去哪了31 分钟前
mitt 跨多层组件甚至兄弟组件通信
前端