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

el-table实现固定列,及解决固定列导致部分滚动条无法拖动的问题

一、el-table实现固定列

当数据量动态变化时,可以为 Table 设置一个最大高度。

通过设置max-height属性为 Table 指定最大高度。此时若表格所需的高度大于最大高度,则会显示一个滚动条。

<div class="zn-filter-table"><!-- 表格--><el-table class="table-box" ref="table" :data="tableData" style="width: 100%;" max-height="580" border stripe @selection-change="handleSelectionChange":header-cell-style="{'text-align':'center',}"><el-table-column type="selection" width="55" align="center" v-if="multiple"></el-        table-column><el-table-column>XXXX</el-table-column><el-table-column label="操作" align="center" width="150" class="table-fixed-right" fixed="right"><template slot-scope="scope"><el-button size="mini" type="text" @click="handleSelect(scope.row)">详情</el-button><!-- <el-button size="mini" type="text" @click="handleDelete(scope.row)" class="mpc_del">删除</el-button> --><el-dropdown size="small" type="primary" trigger="hover" style="margin-left: 10px;"><span style="color: #1890FF;font-size: 12px;">更多</span><el-dropdown-menu slot="dropdown"><div v-for="item in buttons" :key="item.value"><el-dropdown-item v-if="item.value === 'del'" @click.native="handleDelete(scope.row)" class="mpc_del" v-hasPermi="item.hasPermi">{{item.label}}</el-dropdown-item><el-dropdown-item v-else @click.native="handleUpdate(scope.row,item.value)" style="font-size: 12px;color: #1890FF;" v-hasPermi="item.hasPermi">{{item.label}}</el-dropdown-item></div></el-dropdown-menu></el-dropdown></template></el-table-column></table>

fixed属性:列是否固定在左侧或者右侧,true 表示固定在左侧;可选值:true, left, right

二、同用样式配置

框架之间引用过来的组件会和elementUi中的组件存在差异,因此需要一些通用样式,样式修改如下:

<style>.zn-filter-table {/* border: 1px solid blue; */}.zn-filter-table .el-table-column--selection .cell {padding-right: 10px !important;}.zn-filter-table .el-table__fixed-body-wrapper .el-table__body {/* 这个得自己调试看多少合适 */padding-bottom: 20px;}/* 固定列高度与表格高度不一致 */.zn-filter-table .el-table__fixed,.zn-filter-table .el-table__fixed-right {height: calc(100% - 33px) !important;/* height: 100% !important; */right: 0 !important;/* 这个得自己调试看多少合适 */bottom: 20px !important;}.zn-filter-table .el-table__fixed::before,.zn-filter-table .el-table__fixed-right::before {background: transparent !important;/* 去掉固定列下方的横线, 样式优化 */display: none;}.table-fixed-right {}
</style>

三、解决 el-table 固定列 el-table__fixed 导致部分滚动条无法拖动的问题

当给 el-table 表格的列添加了 fixed 属性之后,我们可以发现,被固定的部分虽然鼠标悬浮时会显示滚动条,但却无法拖动,通过修改表格固定列的高度,使固定列无法遮住滚动条,即可实现无障碍拖动。

 

 四、滚动条样式设置

<style scoped>/* // 滚动条样式 */
/* // 胶囊背景色 */
::v-deep .el-table__body-wrapper::-webkit-srollbar-track {background-color: rgba(255, 255, 255, 0);
}
/* //可设置胶囊宽高 */
::v-deep .el-table__body-wrapper::-webkit-scrollbar {height: 12px;opacity: 0.5;
}
/* 设置胶囊色 */
::v-deep .el-table__body-wrapper::-webkit-scrollbar-thumb {border-radius: 15px;background-color: #cdd9e6;
}
</style>

五、动态修改el-table表格滚动条,控制表格高度

1.在el-table中添加动态高度

:max-height="tableHeight" 

2.定义动态高度变量

3.写动态高度方法

created() {this.tableHeight = window.innerHeight - 346},

 4.监听窗口发生变化时表格高度动态变化

mounted() {this.handleTableHeight();},methods: {handleTableHeight: function () {var _this = this;window.onresize = () => {_this.tableHeight = window.innerHeight - 346};},}

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • Buuctf之SimpleRev做法
  • 如何处理 PostgreSQL 中由于表连接顺序不当导致的性能问题?
  • 汽车电子工程师入门系列——AUTOSAR通信服务框架(下)
  • nginx(三)—从Nginx配置熟悉Nginx功能
  • react native优质开源项目
  • 【C++:默认成员函数初始化列表】
  • 论文回顾 | CVPR 2021 | How to Calibrate Your Event Camera | 基于图像重建的事件相机校准新方法
  • python转文本为语音并播放
  • Shell编程类-网站检测
  • 云端AI大模型群体智慧后台架构思考
  • 数据结构-线性表的应用
  • 【Kafka】记录一次Kafka消费者重复消费问题
  • 日志自动分析-Web---360星图GoaccessALBAnolog
  • ABB PP825控制器 处理器 模块
  • 第8篇 智能合约的商业应用场景解析
  • 2019.2.20 c++ 知识梳理
  • Android Volley源码解析
  • CSS3 聊天气泡框以及 inherit、currentColor 关键字
  • HTML中设置input等文本框为不可操作
  • HTTP中的ETag在移动客户端的应用
  • Laravel5.4 Queues队列学习
  • php ci框架整合银盛支付
  • Quartz初级教程
  • Spark RDD学习: aggregate函数
  • - 概述 - 《设计模式(极简c++版)》
  • 个人博客开发系列:评论功能之GitHub账号OAuth授权
  • 基于 Babel 的 npm 包最小化设置
  • 今年的LC3大会没了?
  • 近期前端发展计划
  • 聊聊redis的数据结构的应用
  • 如何实现 font-size 的响应式
  • 如何抓住下一波零售风口?看RPA玩转零售自动化
  • 责任链模式的两种实现
  • ​【已解决】npm install​卡主不动的情况
  • #《AI中文版》V3 第 1 章 概述
  • #pragma once与条件编译
  • #多叉树深度遍历_结合深度学习的视频编码方法--帧内预测
  • #鸿蒙生态创新中心#揭幕仪式在深圳湾科技生态园举行
  • #我与Java虚拟机的故事#连载10: 如何在阿里、腾讯、百度、及字节跳动等公司面试中脱颖而出...
  • (2009.11版)《网络管理员考试 考前冲刺预测卷及考点解析》复习重点
  • (2024)docker-compose实战 (9)部署多项目环境(LAMP+react+vue+redis+mysql+nginx)
  • (9)STL算法之逆转旋转
  • (C语言)求出1,2,5三个数不同个数组合为100的组合个数
  • (day18) leetcode 204.计数质数
  • (html5)在移动端input输入搜索项后 输入法下面为什么不想百度那样出现前往? 而我的出现的是换行...
  • (分布式缓存)Redis分片集群
  • (四)Controller接口控制器详解(三)
  • (转)Oracle存储过程编写经验和优化措施
  • (转载)VS2010/MFC编程入门之三十四(菜单:VS2010菜单资源详解)
  • .bat批处理(十):从路径字符串中截取盘符、文件名、后缀名等信息
  • .NET CF命令行调试器MDbg入门(四) Attaching to Processes
  • .NET 分布式技术比较
  • .NET/C# 在代码中测量代码执行耗时的建议(比较系统性能计数器和系统时间)
  • .NetCore项目nginx发布
  • .net开源工作流引擎ccflow表单数据返回值Pop分组模式和表格模式对比