最近公司项目遇到个需求,需要美化浏览器的滚动条,所以用到了element组件库的el-scrollbar组件。vue-router 切换页面时因为 el-scrollbar组件包裹着router-view,所以页面切换时滚动条不会置顶。
但尴尬的是,饿了么官方没有给出el-scrollbar组件的api文档,所以只能自己动手查看源码。
废话不多说,直接上最终解决方案:
<el-scrollbar class="main-area" ref="myScrollbar">
<div class="main-box">
<div class="scroll-wrap">
<router-view></router-view>
</div>
</div>
</el-scrollbar>
mounted() {
//使用vue的bus 可通过 this.$emit('resetScroll'); 进行调用
this.$on('resetScroll', () => {
if (this.$refs.myScrollbar) {
this.$refs.myScrollbar.wrap.scrollTop = 0; //这句重置滚动条高度
}
});
},