记element table组件固定高度滑动底部数据渲染问题

1.问题

element中table组件,设置固定高度height后,数据渲染超出设置高度后,鼠标向下滑动,此时包裹table元素<div class="el-table__body-wrapper is-scrolling-left/right/middle/none">scrollTop值为滚动距离,若此时切换到第二页,数据渲染未超出设置height,再切换到第一页,数据渲染超出设置高度后,此时table应有滚动条,但是table组件只渲染部分数据,没有出现滚动条,固定高度区域仍有空白.

2.原因

该元素<div class="el-table__body-wrapper is-scrolling-left/right/middle/none">scrollTop值仍为上一次滚动距离,没有重新归0,导致table只渲染部分数据,表格固定高度区域有空白,需要鼠标向下滚动才会重新渲染剩余数据

3.解决

每次数据改变时,判断该元素<div class="el-table__body-wrapper is-scrolling-left/right/middle/none">scrollTop值不为0时,强制归0.

<el-table ref="baseTable" />组件设置ref属性值
打印$refs.baseTable组件,其$refs下有bodyWrapper组件,处理该组件scrollTop值即可
this.$refs.baseTable.$refs.bodyWrapper.scrollTop = 0