当前位置: 首页 > news >正文

vue elementui table去掉滚动条与实现表格自动滚动且无滚动条

当table内容列过多时,可通过height属性设置table高度以固定table高度、固定表头,使table内容可以滚动。
现在需求是右侧滚动条不好看,需要去除滚动条,并隐藏滚动条所占列的位置。让他可以滚动但是不出现滚动条,不然即时隐藏了滚动条也会有一个空白列影响占位的。

// ----------修改elementui表格的默认样式-----------
.el-table__body-wrapper {&::-webkit-scrollbar { // 整个滚动条width: 0; // 纵向滚动条的宽度background: rgba(213,215,220,0.3);border: none;}&::-webkit-scrollbar-track { // 滚动条轨道border: none;}
}
// --------------------隐藏table gutter列和内容区右侧的空白 start
.el-table th.gutter{display: none;width:0
}
.el-table colgroup col[name='gutter']{display: none;width: 0;
}
.el-table__body{width: 100% !important;
}
// --------------------隐藏table gutter列和内容区右侧的空白 end

如果样式不想影响全局,可以使用样式穿透

::v-deep .el-table__body-wrapper {// 整个滚动条&::-webkit-scrollbar {width: 0px; // 纵向滚动条的宽度background: rgba(213, 215, 220, 0.3);border: none;}// 滚动条轨道&::-webkit-scrollbar-track {border: none;}
}
// --------------------隐藏table gutter列和内容区右侧的空白 start
::v-deep .el-table th.gutter {display: none;width: 0
}
::v-deep .el-table colgroup col[name='gutter'] {display: none;width: 0;
}
// 这个样式不加的话内容哪里会缺一点,估计是因为滚动条哪里缺的没有补上
::v-deep .el-table__body {width: 100% !important;
}
// --------------------隐藏table gutter列和内容区右侧的空白 end

下面记录代码,亲测有效。
在这里插入图片描述

<div class="leftTopEcharts1"><div class="alarm-table"><el-table :data="this.left1List1" style="width: 100%;" height="200" ref="table"@mouseenter.native="autoScroll(true)"@mouseleave.native="autoScroll"><el-table-column prop="typeName" label="告警类型" width="270" /><el-table-column prop="almEntCount" label="告警数" /></el-table></div></div>
import { tableAutoScroll } from '@/utils/autoScroll'
mounted() {setTimeout(() => {// 想要滚动就必须设置表格高度,这里设置的高度是100%,即跟父元素等高this.tableHeight = "100%"this.infinitScroll()}, 500)
}methods: {/** 表格自动滚动 */infinitScroll() {// 拿到表格挂载后的真实DOMconst table = this.$refs.table;tableAutoScroll(table)},
}

autoScroll.js 工具类

/** 表格自动滚动 */
export const tableAutoScroll = (table) => {// 拿到表格中承载数据的div元素const divData = table.bodyWrapper;divData.onmouseover = function () {clearInterval(t);}; //鼠标移入,停止滚动divData.onmouseout = function () {start();}; //鼠标移出,继续滚动// 拿到元素后,对元素进行定时增加距离顶部距离,实现滚动效果(此配置为每100毫秒移动1像素)let t;start();function start() {// 数据少于表格高度停止滚动if (divData.clientHeight >= divData.scrollHeight) {return;}t = setInterval(() => {// 元素自增距离顶部1像素divData.scrollTop += 1;// 判断元素是否滚动到底部(可视高度+距离顶部=整个高度)if ( divData.clientHeight + divData.scrollTop == divData.scrollHeight ) {// 重置table距离顶部距离divData.scrollTop = 0;}}, 100);}
}
.leftTopEcharts1 {height: 100%;width: 100%;background-image: url('~@/assets/meilinScreen/qyscaqydjc/biankuang.png');background-size: cover;background-size: 100% 100%;box-sizing: border-box;overflow: hidden;
}
.alarm-table {padding-left: 5%;padding-top: 3%;padding-right: 3%;
}
/*去除滚动的滚动条*/
::v-deep .el-table th.gutter{display: none;width:0
}
::v-deep.el-table colgroup col[name='gutter']{display: none;width: 0;
}
::v-deep .el-table__body{width: 100% !important;
}
::v-deep .el-table--scrollable-y .el-table__body-wrapper {overflow-y: hidden;
}
/*去除滚动的滚动条*/
http://www.lryc.cn/news/98739.html

相关文章:

  • SDK命令行工具配置
  • 【数字IC基础】竞争与冒险
  • 速成版-带您一天学完python自动化测试(selenium)
  • windows 删除无法删除的文件
  • FFmpeg[7] - FFmpeg之预设编码参数preset
  • CVPR2023新作:3D视频物体检测
  • Keepalived热备、Keepalived+LVS、HAProxy监控及后端服务器健康检查、负载均衡调度器对比
  • 用Vue开发仿旅游站webapp项目总结 (上)
  • 【Koa】[NoSQL] Koa中相关介绍和使用Redis MongoDB增删改查
  • 【JS 阻止滑动穿透】
  • 编译原理
  • 项目播报 | 新基德携手璞华易研PLM,打造企业新一代研发管理平台
  • elementui el-table 封装表格
  • 集合--collections
  • go使用gin结合jwt做登录功能
  • 【C++】开源:Boost网络库Asio配置使用
  • 图像滤波器
  • 【每日一题】2569. 更新数组后处理求和查询
  • PLC的高端版本通常具有以下特点:
  • Scrum敏捷开发项目管理和产品研发管理培训- Leangoo领歌
  • 爬虫小白-如何辨别是否有cookie反爬案例
  • 机器人状态估计:robot_localization 功能包简介与安装
  • RNN架构解析——GRU模型
  • 【LeetCode】141.环形链表
  • nodejs+vue+elementui汽车销售网站
  • spring boot整合kaptcha验证码
  • 【Linux下6818开发板(ARM)】在液晶屏上显示RGB颜色和BMP图片
  • React的hooks---useLayoutEffect
  • 北京创业孵化器汇总
  • 电信软件的过去、现在和未来:推动核心网发展的关键力量