vue + elementUI 框架下给el-table 增加一条数据,默认滚动条定位到表格的最底部

需求:

需要给表格增加数据,然后数据多的情况下表格会出现滚动条,需要默认定位到表格的底部。

一般的js的做法是:

let table = document.getElementById('id名字');
table.scrollTop = table.scrollHeight;

因为用到了elementUi框架,不容易获取到表格里面的某个元素的id,所以上面方法不是很适用,查相关资料发现,el-table里有个

bodyWrapper  它指向的是el-table的表格内容部分,存在 scrollTop,scrollHeight 属性,所以可以用下面方法来实现滚动条在底部的效果(备注: 需给对应的el-table 设置ref 属性,,本案例中ref 设置为editTable)

this.$nextTick(() => {
  this.$refs.editTable.bodyWrapper.scrollTop = this.$refs.editTable.bodyWrapper.scrollHeight;
})

this.$nextTick() 是为了让表格加载完再执行,不加上可能会看不到效果噢!

另外,如果要在不同屏幕下表格高度需要适应屏幕的话,需要用到 window.onresize 函数

window.onresize = () => {
this.caseListHeight = window.innerHeight - 405;
}

发表评论

电子邮件地址不会被公开。 必填项已用*标注