使用el-scrollbar如何定位滚动,以及为什么有时候怎么设置都是0无效的问题

首先再HTML中使用组件

 <el-scrollbar
          ref="azeScroll"
          style="height: 100%"
          class="main-scrollbar"
          wrap-class="default-scrollbar__wrap"
        >
          <keep-alive>
            <router-view
              v-if="$route.meta.keepAlive"
              id="main_view"
            ></router-view>
          </keep-alive>
          <router-view
            v-if="!$route.meta.keepAlive"
            id="main_view"
          ></router-view>
</el-scrollbar>

我的需求是刚进页面就要定位

setTimeout(() => {
        // locationY替换你想要的高度
        this.$refs.azeScroll.wrap.scrollTop = locationY;
}, 1000);

所以这就是问题所在,如果不设置定时器那么刚进页面的时候因为数据没有生成,滚动条还没有高度,所以有些人怎么操作滚动条都是0,这里我只是用定时器说明一下这个情况

还有一个就是this.$refs.azeScroll.moveY, 通过源码观察有这个属性, 但是试了试 这个不更改视图位置,只是更改滚动条的位置

上一篇:vue 中使用$refs,报this.$refs.xxx.xxx() is not a function


下一篇:Vue引进echarts