Element-ui的el-scrollbar组件重置滚动条高度

6,882 阅读1分钟

最近公司项目遇到个需求,需要美化浏览器的滚动条,所以用到了element组件库的el-scrollbar组件。

路由切换时因为 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;  //这句重置滚动条高度
      }
    });
  },