网站首页 > 教程文章 正文
场景
我是需要在table最后添加一行数据,然后把滚动条滚动到最后。
查网上的解决方案都是读取html结构,暴力的去获取,虽能解决问题,但是不喜欢这种打补丁的解决方案,我想着官方应该有相关的定义,于是就去看table的定义。
技术栈
我用的是vue3+ts+elment-plus。elment-plus的table提供了滚动的方法`setScrollTop`,但是api上没找到获取数据列高度的方法,于是我就F12看table的类型定义,发现了一个`$ref`属性,打印出来一看,上面竟然定义了各个层级的对象。
于是我就获取各个对象的高度看看哪个是我需要的。
一开始我就打印tableWrapper.height,发现不对,打印这个对象,发现高度是可视区域的高度。
又打印tableBody.height的高度,发现获取不到,结果发现了`scrollHeight`,看数值对了。
代码如下:
<el-table
ref="singleTableRef"
:data="list"
border
style="width: 100%"
height="500px"
>
... 列的定义
</el-table>
// 滚动设置
const onScrollBottom = () => {
// 我上面还有其他的处理,所以我放到了nextTick中
nextTick(() => {
// 解决方法
singleTableRef.value?.setScrollTop(singleTableRef.value?.$refs.tableBody.scrollHeight)
})
}
轻松搞定!
猜你喜欢
- 2024-12-29 vue前端埋点 - 神策埋点 vue前端埋点怎么实现
- 2024-12-29 面试遇到 性能优化 必答的 9 个点,加分!
- 2024-12-29 Vue NextTick揭秘:你不知道的秘密!
- 2024-12-29 史上最全 vue-router 讲解 !!! vue-router怎么用
- 2024-12-29 前端项目重构的一些思考和复盘 前端项目构建工具有什么
- 2024-12-29 vue3.0系列:Vue3自定义PC端弹窗组件V3Layer
- 2024-12-29 VueUse中的这5个函数,也太好用了吧
- 2024-12-29 vue-cms开源企业级后台管理系统 开源vue项目
- 2024-12-29 Vue和React的一些对比:哪个更适合你?
- 2024-12-29 第14天|14天搞定Vue3.0,电子地图,一定要用Vue?
- 最近发表
- 标签列表
-
- location.href (44)
- document.ready (36)
- git checkout -b (34)
- 跃点数 (35)
- 阿里云镜像地址 (33)
- qt qmessagebox (36)
- md5 sha1 (32)
- mybatis plus page (35)
- semaphore 使用详解 (32)
- update from 语句 (32)
- vue @scroll (38)
- 堆栈区别 (33)
- 在线子域名爆破 (32)
- 什么是容器 (33)
- sha1 md5 (33)
- navicat导出数据 (34)
- 阿里云acp考试 (33)
- 阿里云 nacos (34)
- redhat官网下载镜像 (36)
- srs服务器 (33)
- pico开发者 (33)
- https的端口号 (34)
- vscode更改主题 (35)
- 阿里云资源池 (34)
- os.path.join (33)