elment-table实现行滚动效果

ops/2024/10/19 13:28:44/

通过获取dom ,来控制表格滚动

<template><div class="scroll_table"><div style="display: inline-block; width: 100%"><el-table:data="tableData"ref="table"borderheight="100%"highlight-current-rowstyle="width:97%;margin-left:18px;margin-top:20px"class="table_scroll":header-cell-style="{ background:'rgba(10, 103, 108, 0.5)',color:'#20cbaa',border: '0'}"><el-table-column label="过车时间" prop="crossTime" :min-width="200"></el-table-column><el-table-column label="车牌号" prop="plateNo" :min-width="140"></el-table-column><el-table-column label="车辆类型" prop="plateType" :min-width="140"></el-table-column><el-table-column label="车牌类型" prop="vehicleType" :min-width="140"></el-table-column><el-table-column label="车速km/h" prop="speed" :min-width="140"></el-table-column></el-table><!-- </vue-seamless-scroll> --></div></div>
</template>
.scroll_table {height: 100%;display: flex;::v-deep .table .el-table__body-wrapper {display: none;}// 重点注意这段样式.seamless-warp {height: 400px !important;overflow: hidden;::v-deep .table_scroll .el-table__header-wrapper {display: none;}}
}
/deep/.el-table__body-wrapper::-webkit-scrollbar {/*width: 0;宽度为0隐藏*/width: 0px !important;
}
/deep/.el-table__cell {text-align: center !important;
}
/*最外层透明*/
/deep/ .el-table,
/deep/ .el-table__expanded-cell {background-color: transparent;border: 0px;
}/* 表格内背景颜色 */
/deep/ .el-table th,
/deep/ .el-table tr,
/deep/ .el-table td {background-color: rgba(9, 100, 106, 0.2);border: 0px;color: white;
}
/deep/.el-table th.el-table__cell.is-leaf {border: 0px;
}
/deep/.el-table__row {border: 0px;
}
/deep/.el-table td.el-table__cell {border: 0px;border-top: 4px solid rgba(20, 20, 20, 0.5);
}::v-deep .el-table tbody tr:hover > td {background-color: rgba(20, 20, 20, 0.5) !important;// color: #FFFFFF;
}

export default {// import引入的组件需要注入到对象中才能使用props: {isFullscreen: {type: Boolean,default: false},tableData: {type: Array,default: ()=>[]}},components: {},data() {// 这里存放数据return {columns: [{prop: "time",label: "过车时间",minWidth: "200",sort: true},{prop: "number",label: "车牌号",minWidth: "140",sort: true},{prop: "type",label: "车辆类型",minWidth: "140",sort: true},{prop: "type2",label: "车牌类型",minWidth: "140",sort: true},{prop: "speed",label: "车速km/h",minWidth: "140",sort: true}],tableList: [{id: "1",time: "2019-09-22 13:34:22",number: "张三1",type: "待处理",speed: 18},{id: "2",time: "2019-09-22 13:34:22",number: "张三2",type: "待处理",speed: 18},{id: "3",time: "2019-09-22 13:34:22",number: "张三3",type: "待处理",speed: 18},{id: "3",time: "2019-09-22 13:34:22",number: "张三4",type: "待处理",speed: 18},{id: "3",time: "2019-09-22 13:34:22",number: "张三5",type: "待处理",speed: 18},{id: "3",time: "2019-09-22 13:34:22",number: "张三6",type: "待处理",speed: 18},{id: "3",time: "2019-09-22 13:34:22",number: "张三7",type: "待处理",speed: 18},{id: "3",time: "2019-09-22 13:34:22",number: "张三7",type: "待处理",speed: 18},{id: "3",time: "2019-09-22 13:34:22",number: "张三7",type: "待处理",speed: 18},{id: "3",time: "2019-09-22 13:34:22",number: "张三7",type: "待处理",speed: 18},{id: "3",time: "2019-09-22 13:34:22",number: "张三7",type: "待处理",speed: 18},{id: "3",time: "2019-09-22 13:34:22",number: "张三7",type: "待处理",speed: 18},{id: "3",time: "2019-09-22 13:34:22",number: "张三7",type: "待处理",speed: 18},{id: "3",time: "2019-09-22 13:34:22",number: "张三7",type: "待处理",speed: 18}]};},// 监控data中的数据变化watch: {tableData() {this.tableList = [];}methods: {doLayout() {this.$nextTick(() => {this.$refs.tables.doLayout();});},getList() {checkpointCapture().then(res => {this.tableList = res.data.data;});}},// 生命周期 - 挂载完成(可以访问DOM元素)---实现滚动的核心jsmounted() {this.$nextTick(() => {const table = this.$refs.table;// 拿到表格中承载数据的div元素const divData = table.bodyWrapper;// 拿到元素后,对元素进行定时增加距离顶部距离,实现滚动效果(此配置为每100毫秒移动1像素)setInterval(() => {// 元素自增距离顶部1像素divData.scrollTop += 1;// 判断元素是否滚动到底部(可视高度+距离顶部=整个高度)if (divData.clientHeight + divData.scrollTop + 1 >divData.scrollHeight) {// 重置table距离顶部距离divData.scrollTop = 0;}}, 30);});},beforeCreate() {}, // 生命周期 - 创建之前beforeMount() {}, // 生命周期 - 挂载之前beforeUpdate() {}, // 生命周期 - 更新之前updated() {}, // 生命周期 - 更新之后beforeDestroy() {}, // 生命周期 - 销毁之前destroyed() {}, // 生命周期 - 销毁完成activated() {} // 如果页面有keep-alive缓存功能,这个函数会触发
};

http://www.ppmy.cn/ops/19927.html

相关文章

OpenCV直方图计算

返回:OpenCV系列文章目录&#xff08;持续更新中......&#xff09; 上一篇&#xff1a;OpenCV实现直方图均衡 下一篇 :OpenCV系列文章目录&#xff08;持续更新中......&#xff09; 在本教程中&#xff0c;您将学习如何&#xff1a; 使用 OpenCV 函数 cv::split 将图像划分…

一则 TCP 缓存超负荷导致的 MySQL 连接中断的案例分析

除了 MySQL 本身之外&#xff0c;如何分析定位其他因素的可能性&#xff1f; 作者&#xff1a;龚唐杰&#xff0c;爱可生 DBA 团队成员&#xff0c;主要负责 MySQL 技术支持&#xff0c;擅长 MySQL、PG、国产数据库。 爱可生开源社区出品&#xff0c;原创内容未经授权不得随意使…

钡铼IOy系列模块与云平台结合,实现工业设备远程运维与预测性维护

在当今数字化、智能化趋势下&#xff0c;工业设备的运维模式正在经历一场深刻变革。钡铼技术有限公司以其创新研发的IOy系列模块为核心&#xff0c;巧妙地将多元信号类型自由组合与云平台深度融合&#xff0c;成功构建了一套高效、精准的工业设备远程运维与预测性维护体系。 一…

4.3 海思SS928开发 - uboot开发 - 非安全启动镜像制作

4.3 uboot开发 - 非安全启动镜像 非安全启动方案启动流程如下&#xff1a;芯片上电,加载固化在ROM里的代码->启动GSL->启动uboot->引导内核启动。其中&#xff0c;gsl 为一级 Bootloader&#xff0c;uboot 为二级 Bootloader。 准备 gsl.bin 文件 制作步骤如下&…

flutter android studio升级java java17

oricle 网站下载jdk 17sudo dpkg -i 安装包。到android-studio 目录&#xff0c; mv jbr jbr_bak ln -s /usr/lib/jvm/jdk-17-oracle-x64 jre ln -s /usr/lib/jvm/jdk-17-oracle-x64 jbr 更新.bashrc里面 JAVA_HOMEusr/lib/jvm/jdk-17-oracle-x64 jresource .bashrc然后运行f…

解密数据治理:构建安全堡垒,守护信息王国

在数字化时代&#xff0c;数据是当今世界的石油&#xff0c;承载着企业的核心竞争力和创新动力。然而&#xff0c;数据的重要性也使得数据安全问题备受关注。随着数据规模的不断增长&#xff0c;数据泄露和数据安全漏洞的风险也日益突出。面对这一挑战&#xff0c;数据治理成为…

跨Ubuntu系统迁移Anaconda虚拟环境:使用Conda-Pack的技巧与注意事项

当你想要将一个Conda虚拟环境从一台电脑迁移到另一台时&#xff0c;可以使用conda-pack工具来打包环境&#xff0c;这样可以更容易地在不同的机器之间复制和重建环境。下面是一篇详细的教程&#xff0c;教你如何使用conda-forge和conda-pack完成这个任务。 准备工作 首先&…

GPT-5强到发指,ScalingLaw依然有效|国内大模型五虎融资仅是巨头零花钱|小米与红衣之外的北京车展

突发&#xff1a;成立仅6年&#xff0c;卖了50亿手机玩转PC3A大作&#xff0c;这种错觉到底有多离谱rabbitr1第一批买家秀来了&#xff01;经历轰动与质疑后&#xff0c;AI硬件销冠诞生小米与红衣之外的北京车展&#xff1a;有人吃香&#xff0c;有人遭殃“再见&#xff0c;Ter…