当前位置:首页 > 技术分析 > 正文内容

vue3优雅的设置element-plus的table自动滚动到底部

ruisui884个月前 (02-09)技术分析21

场景

我是需要在table最后添加一行数据,然后把滚动条滚动到最后。

查网上的解决方案都是读取html结构,暴力的去获取,虽能解决问题,但是不喜欢这种打补丁的解决方案,我想着官方应该有相关的定义,于是就去看table的定义。

技术栈

我用的是vue3+ts+elment-plus。elment-plus的table提供了滚动的方法`setScrollTop`,但是api上没找到获取数据列高度的方法,于是我就F12看table的类型定义,发现了一个`$ref`属性,打印出来一看,上面竟然定义了各个层级的对象。

于是我就获取各个对象的高度看看哪个是我需要的。

一开始我就打印tableWrapper.height,发现不对,打印这个对象,发现高度是可视区域的高度。

又打印tableBody.height的高度,发现获取不到,结果发现了`scrollHeight`,看数值对了。

代码如下:


... 列的定义


// 滚动设置
const onScrollBottom = () => {
   // 我上面还有其他的处理,所以我放到了nextTick中
    nextTick(() => {
        // 解决方法
        singleTableRef.value?.setScrollTop(singleTableRef.value?.$refs.tableBody.scrollHeight)
    })

}

轻松搞定!

扫描二维码推送至手机访问。

版权声明:本文由ruisui88发布,如需转载请注明出处。

本文链接:http://www.ruisui88.com/post/1838.html

标签: vue $nexttick
分享给朋友:

“vue3优雅的设置element-plus的table自动滚动到底部” 的相关文章

三勾点餐系统java+springboot+vue3,开源系统小程序点餐系统

项目简述前台实现:用户浏览菜单、菜品分类筛选、查看菜品详情、菜品多属性、菜品加料、添加购物车、购物车结算、个人订单查询、门店自提、外卖配送、菜品打包等。后台实现:菜品管理、订单管理、会员管理、系统管理、权限管理等。 项目介绍三勾点餐系统基于java+springboot+element-plus+u...

微信企业号首款永久免费应用问世

7月14日,微信企业号移动办公应用领跑者——办公逸宣布:其所研发的微信办公应用将永久免费,企事业单位只要拥有微信企业号都可以免费安装办公逸各项应用,此举标志着微信办公免费时代现已到来!据悉,办公逸(www.bangongyi.com)现已推出四大微信办公套件,分别为:移动办公管理套件、客户关系管理套...

52、Vue 怎么实现跨域(必会)

1、什么是跨域跨域指浏览器不允许当前页面的所在的源去请求另一个源的数据。源指协议,端口,域名。只要这个 3 个中有一个不同就是跨域2、使用 vue-cli 脚手架搭建项目时 proxyTable 解决跨域问题,打开 config/index.js,在 proxyTable 中添写如下代码:proxy...

vue3 学习笔记 (二)——axios 的使用有变化吗?

本篇文章主要目的就是想告诉我身边,正在学 vue3 或者 准备学 vue3 的同学,vue3中网络请求axios该如何使用,防止接触了一点点 vue3 的同学会有个疑问?生命周期、router 、vux使用都改变了,那 axios 使用有没有啥改变?小姐姐使用 axios 之前,需要先安装好。yar...

3、类京东商城小程序_轮播图实现

文章目录一、新建tabBar分支(选读*)二、配置网络请求(挂载$http)三、轮播图区域四、注意事项五、渲染轮播图UI结构六、轮播图点击页面跳转一、新建tabBar分支(选读*)之所以为了创建分支,也是养成良好的项目开发习惯,这样在开放项目井井有条也可以跳过本节内容,不影响阅读观感在根目录下,右键...

影视剧旁白,画龙点睛还是画蛇添足?| 睡前聊一会儿

睡前聊一会儿,梦中有世界。听众朋友们ÿ...