【前端】实现Table添加行,滚动条跟随滚动到底部

Element Plus el-table 合计行与横向滚动条布局冲突的实战解决方案 本文详细解析了Element Plus中el-table组件在开启合计行功能时与横向滚动条布局冲突的问题,并提供了实战解决方案。通过CSS调整滚动条位置和JavaScript实现滚动同步,有效解决了表格视觉割裂问题,适用于需要展示明细和汇总数据的各类系统。 阅读详情
前言

在开发过程,可能会遇见这样的需求。在添加多个参数或者多个数据的时候,希望能够及时到新添加的地方,这样的用户体验会更好一些。不然用户可能会不知道有没有添加,或者还得拖动滚动条下拉才能看见。如下视屏所示

table_video_1

这时候用户的体验是不太好的。好的用户体验应该是如下视频所示

table_video_3

这样用户能够及时填写数据。接下来就直接上代码,这里用到的是vue3、组件是 Ant Design Vue、TS

HTML
<template>
  <div class="table-container">
    <a-card title="基础信息">
      <a-button type="primary" style="float: right;" @click="isOpen = true">新增</a-button>
    </a-card>

    <a-modal v-model:open="isOpen" title="新增">
      <a-button type="primary" style="float: right;" @click="add">添加</a-button>
      <a-table ref="tableRef" :scroll="{ y: 217 }" :columns="columns" :dataSource="dataSource" />
    </a-modal>

  </div>
</template>
Javascript
const add = () => {
  dataSource.value.push({
    key: Math.random().toString(),
    name: '李四',
    age: 42,
    address: '地球村',
  });

  // nextTick(() => {
    const tableBody = document.querySelector('.ant-table-body') as any;
    const tableTBody = document.querySelector('.ant-table-tbody') as any;
    const height = tableTBody.clientHeight - tableBody.clientHeight;
    if (height > 0) {
      tableBody.scrollTop = height
    }
  // });
}

这里用的是 Ant Design Vue组件库,所以就没有自己写CSS。
在这里需要注意一点,如没有写在 nextTick 里面的话,添加就会出来如下图所示,滚动条没有滚到底,距离底部还有一个行高的距离,所以加上 nextTick 钩子函数就能解决。这是因为vue的渲染机制导致的。在这里插入图片描述
在 js 代码中,可以看见,我们是分别获取到了 Table 的 ant-table-tbody 和 ant-table-tbody 这两个节点。为什么是这两个节点,我们打开控制台就可以发现, ant design vue 提供的 table 组件的样式类名是这样的
在这里插入图片描述
所以可以根据类名获取到节点,然后进行操作。
类似这种需求其实实现的原理差不多就是这样,所以可以根据这个自己写自定义组件来实现都是可以的。

总结

类似功能的实现,原理大致就是这样,可以根据项目中具体的需求,然后自己自定义一些组件去实现。

Vue Element UI el-table合计行深度定制:单元格合并与样式优化 在前端开发中,表格组件是数据展示的核心模块,其定制化能力直接影响用户体验。Element UI的el-table组件通过内置的合计行功能,为数值统计提供了基础支持。然而,当需求涉及复杂的单元格合并、样式深度定制或与固定列布局兼容时,原生API往往力不从心。深入理解表格的渲染原理和DOM结构,成为实现高级定制的前提。通过自定义append插槽,开发者可以完全掌控合计行的HTML结构和样式,实现跨列合并(colspan)等原生不支持的功能,从而满足产品对数据可视化美观度和交互一致性的高要求。这种方案尤其适用于需 阅读详情

相关推荐

vue scroll滚动判断的实现(是否滚动到底部、滚动方向、滚动节流、获取滚动区域dom元素)

1、是否滚动到底部 isScrollBottom() { // 是否滚动到了底部 this.box = this.$refs.chatListWrapper var clientHeight = this.box.clientHeight var scrollTop = this.box.scrollTop var scrollHeight = this.box.scrollHeight if (scrollTop + clientHeight == scrollHeight) { this.$store.dispatch(&#39;setBottomB

在Vue 3中,如果你想让Ant Design Vue的Table组件在数据加载时自动滚动到底部

我们通过watch来监听data数组的变化,当数据加载完成后,使用原生JavaScript的滚动属性将表格滚动到底部。请注意,这个例子中的滚动逻辑依赖于Ant Design Vue的Table组件的DOM结构,这可能在未来的版本中发生变化,因此需要确保这种方法在使用时与你所使用的Ant Design Vue版本兼容。在Vue 3中,如果你想让Ant Design Vue的Table组件在数据加载时自动滚动到底部,可以通过监听数据变化并使用原生JavaScript的方法来实现。// 模拟的数据加载函数。

m0_62605850的博客 1345

QT 面试题汇总

一、讲述Qt信号槽机制与优势与不足 优点:①类型安全。需要关联的信号槽的签名必须是等同的。即信号的参数类型和参数个数同接受该信号的槽的参数类型和参数个数相同。若信号和槽签名不一致,编译器会报错。 ②松散耦合。信号和槽机制减弱了Qt对象的耦合度。激发信号的Qt对象无需知道是那个对象的那个信号槽接收它发出的信号,它只需在适当的时间发送适当的信号即可,而不需要关心是否被接受和那个对象接受了。Qt就保证了适当的槽得到了调用,即使关联的对象在运行时被删除。程序也不会奔溃。 ...

编程菜鸟 4万+

vue3 table中增加一条数据后自动滚动到table的底部

二:定义ref const multipleTableRef = ref(null);一:table绑定ref。三:在增加按钮里面添加。

weixin_52182536的博客 1118

开源分享:苹果群控手机源代码解析与实战

本文介绍了苹果设备群控的基本原理和实现方法,重点解析了基于Python+Appium的群控系统构建。主要内容包括:1)设备连接管理技术(USB/Wi-Fi);2)自动化控制方式(WDA/AppleScript/Appium);3)实战演示了通过Python脚本实现多设备同时控制,涵盖环境配置、代码解析和功能说明;4)提出了多线程、图像识别等优化方向。文章为开发者提供了快速上手的群控方案,适用于自动化测试、批量管理等场景,并推荐了相关开源项目参考。

2403_88540309的博客 1348

Ubuntu20.04下SRS流媒体服务器的安装与开机自启动优化指南

本文详细介绍了在Ubuntu20.04系统下安装SRS流媒体服务器并优化开机自启动的完整指南。从基础环境准备、服务管理方案对比到systemd自启动深度优化,提供了实用的配置技巧和排查方法,帮助用户快速搭建稳定的流媒体服务环境。特别推荐使用systemd方案实现高效的自启动管理。

weixin_29313239的博客 414

vue3 【element-plus】的el-table添加行后定位到表尾

vue3 【element-plus】的el-table添加行后定位到表尾

m0_52611940的博客 3243

【G4基础08】GPS-2-Macro Commands宏命令

GPS-2

adelall的博客 3741

ant design vue中table 添加滚动到底部自动加载数据

【代码】ant design vue中table 添加滚动到底部自动加载数据。

m0_65337466的博客 2008

企业老板管理者,如何监控员工的电脑屏幕?

老板监控员工电脑,需要知道员工开机后的上网行为来及时了解到员工工作情况,及时发现上班不良行为员工,及时淘汰低价值员工。 文章目录iMonitor EAM一、计算机系统日志二、具体功能介绍1.屏幕记录2.键盘记录总结 iMonitor EAM 怎么监控员工电脑,我们需要用到第三方软件,2021年最新版本软件-iMonitor EAM,软件分管理端和客户端,管理端在管理者电脑登录,客户端在员工电脑双击安装就可以,安装中不用任何设置的,客户端安装到员工电脑后也是隐藏的,不会有任何弹窗和警告信息,是无法发现和删

iMonitorSoft的博客 2180

Altium Designer 18 将Gerber文件逆向转换成PCB(详细记录)

自己看了网上的教程,弄了很久,估计还有不足的地方,但是先把思路理一理(初学AD) 同时遇到了许多问题: 不是AD导出的Gerber估计不能自动识别层 要自己设置层顺序 要有钻孔文件数据制作NC工具(我也不懂是怎么说,就是size尺寸的) 这里记录一下,以防忘记。 正常顺序: 1.新建CAM 2.导入Gerber,选择CAM文件夹下的所有文件导入 3.设置层属性和物理顺序 4.设置NC工具 5.提取网络表 ...

lb_monkey的博客 1万+

Vue3.0 div随内容滚动到底部

Vue3.0 div随内容滚动到底部

Th_rob的博客 5923

python中使用squarify包可视化treemap图:为treemap图添加标题并自定义标题的字体大小、自定义设置treemap中标签字体的大小、添加数值数值标签、自定义设置边框的色彩

python中使用squarify包可视化treemap图:treemap将分层数据显示为一组嵌套矩形自定义设置每一个数据格的颜色、添加数值数值标签、自定义设置边框的色彩、自定义设置边框线条的粗细、为treemap图添加标题并自定义标题的字体大小、自定义设置treemap中标签字体的大小

data+scenario+science+insight 1065

JeecgBoot中Table组件添加滚动参数时合计行未跟随滚动的解决方案

JeecgBoot中Table组件添加滚动参数时合计行未跟随滚动的解决方案 【免费下载链接】JeecgBoot ????企业级低代码平台集成了AI应用平台,帮助企业快速实现低代码开发和构建AI应用!前后端分离架构 SpringBoot,SpringCloud、Mybatis,Ant Design4、 Vue3.0、TS+vit...

gitblog_01415的博客 994

KoboldCpp vs Ollama vs llama.cpp 全面对比(2026工程视角)

本文对比分析了KoboldCpp、Ollama和llama.cpp三大本地AI推理工具的核心差异。llama.cpp作为基础引擎性能最强但上手困难;KoboldCpp在其基础上增加了UI界面,适合娱乐创作;Ollama则提供最简化的模型管理和API服务。性能实测显示:llama.cpp>KoboldCpp>Ollama。选型建议:新手用Ollama快速入门,玩家选KoboldCpp获得交互体验,工程师用llama.cpp追求极致性能。三者定位清晰:性能极限、使用体验和开发效率各有所长。

刘一说的IT专栏 916

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

bootstrap table 固定table最底部的滚动条到屏幕底部

bootstrap中table固定底部滚动条

jxlsp2007的博客 2786

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

基于vue3的自滚动table的设计与实现

本文介绍了一个基于Vue3的自滚动表格组件的设计与实现。该组件支持动态数据展示、表格自动滚动、样式差异化等功能,主要面向数据监控场景。通过requestAnimationFrame实现平滑滚动,可配置滚动速度,支持鼠标悬停暂停。组件采用表头固定、奇偶行样式区分设计,隐藏滚动条优化视觉体验。关键特性包括:动态渲染表头和数据,字段映射能力,状态特殊样式处理,行点击事件响应等。组件具有良好的扩展性,支持高度自定义和不同数据结构适配。适用于大屏监控、实时预警列表等需要轮播展示数据的场景。生命周期管理确保了组件销毁时

Skty_ywh的博客 1818

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

el-table实现Excel式方向键移动光标:单元格高亮与滚动跟随实战

在前端后台系统中,表格数据密集时,仅靠鼠标操作效率低下,用户往往期望像Excel一样通过方向键快速移动光标。el-table作为Element UI核心组件,默认缺乏完整的键盘导航能力。本文从键盘事件监听与行列坐标维护的原理出发,解析如何为表格容器绑定焦点,并通过cell-style实现单元格级高亮,同时利用getBoundingClientRect完成自动滚动跟随。该方案无需改动组件源码,即可显著提升数据审核、批量录入等场景的操作效率,增强表格可访问性。文章还涵盖合并单元格、固定列等复杂场景的容错处理,为

weixin_34067102的博客 404

bootstraps table 底部栏可移动

bootstraps table 底部栏可移动 改写 bootstrap-table.js 文件: 主要实现代码: // 在fBootstrapTable.prototype.fitFooter 函数里改: var $footerTable = this.$tableFooter.find('table'); // Footer随bootstrap-table主体移动 wyz 20/11/19 this.$tableFooter.siblings('.fixed-table-body').off('scro

wwyyzz1997的博客 237

Ant Design Blazor Table 随页面滚动的固定表头与固定滚动条(StickyOffsetHeader)实战指南

对于列很多、行很多的长表格,用户向下浏览时表头会随之滚出视口,横向滚动条也可能滑出视野,导致"不知道当前列是什么、无法再横向滚动"的体验问题。Ant Design Blazor 的 `Table` 组件提供了 `StickyOffsetHeader` 参数:一旦设置该参数,表头将跟随页面滚动固定在视口顶部,同时组件会在表格底部渲染一条"固定滚动条"(sticky scroll bar),用户始终可

gitblog_00538的博客 134

Element Plus表格固定列与顶部合计行冲突的解决方案

在前端开发中,表格组件是数据展示的核心。Element Plus的el-table组件凭借其丰富的功能,成为构建后台管理系统和数据报表的首选。其原生合计行功能通过show-summary属性实现,但在复杂场景下存在局限性。当表格需要同时使用固定列(fixed)和自定义合计行位置时,原生的底部合计行无法与固定列区域同步滚动,导致数据错位和体验割裂。这一问题的技术价值在于深入理解组件渲染机制,并通过工程化思维实现稳定可靠的解决方案。应用场景广泛存在于财务对账、数据看板等需要横向滚动并突出汇总信息的业务模块。本文

weixin_34364071的博客 404

antd Table 边框与页头页脚配置:bordered / title / footer 完全指南

在 Ant Design(antd)的 Table 组件中,`bordered`、`title` 与 `footer` 三个属性用于控制表格的视觉边框、顶部标题与底部页脚区域,是构建报表类、数据看板类页面的高频基础能力。本文以 antd 仓库中 [components/table/demo/bordered.md](https://link.gitcode.com/i/873d3dc24f51cd

gitblog_00884的博客 453

Handsontable Walkontable 渲染引擎架构深度解析:从视口计算、覆盖层系统到 DOM 测量与滚动同步

Walkontable 是 Handsontable 数据网格内部自包含的渲染引擎,负责视口(viewport)计算、DOM 渲染、滚动同步与覆盖层(overlay)系统。本文以 [handsontable/src/3rdparty/walkontable/AGENTS.md](https://link.gitcode.com/i/9a0847ddfc40d7c804ee9aa8a68b41f1)

gitblog_00391的博客 362

trackerslist 使用指南:11 份 tracker 列表怎么选,3 步接入 qBittorrent

trackerslist 是一份每天由机器人自动巡检、去重、排序的公共 BitTorrent tracker 列表。截至 2026-10-28,它收录 79 个节点,拆成 11 份清单:精选版 20 个、全量版 79 个,另有 UDP、HTTP、HTTPS、IP 直连等按协议和环境分的版本。 先把黑话掰开:tracker 是一台记台账的服务器,你往上面报"我要下载这份文件",它回给你"还有这几个

gitblog_00825的博客 849

el-dialog嵌套el-table高度变小根源与解决指南

前端开发中,弹窗与表格是后台管理系统的核心组件,而Element UI的el-dialog内嵌el-table时,常出现表格高度被压缩、滚动异常等问题。这类现象的本质并非简单的样式缺陷,而是弹窗渲染时机、Flex布局的min-height:auto规则以及el-table内部高度计算机制共同作用的结果。理解这些底层原理,能显著提升工程实践效率。在Vue/Element UI项目中,开发者可通过max-height自适应、Flex布局重构或动态计算高度等方案,实现弹窗表格的精准适配与视口联动。同时,配合doL

weixin_29007243的博客 239

Handsontable Walkontable 渲染引擎深度解析:架构边界、绘制生命周期与性能优化实践

Walkontable 是 Handsontable 数据网格内置的自包含渲染引擎,负责视口(viewport)计算、DOM 渲染、滚动同步与冻结行列(overlay)系统。本文以仓库内 [Walkontable 工程文档](https://link.gitcode.com/i/a365e628a7ed1d51484cce366b93564f) 为核心骨架,结合 [源码目录](https://li

gitblog_00613的博客 163
上一篇: 前端实用小技巧之巧用小三角形
下一篇: 【前端】实现文件夹上传,并将后端返回的文件数据,根据路径还原成文件夹格式展示。
@9yue
博客等级 码龄8年 60粉丝 7原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值