最近做项目的时候有个需求--需要给表格增加数据,然后数据多的情况下表格会出现滚动条,需要默认定位到表格的底部。
效果图:
image.png一般的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;
}
网友评论