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

element el-table表格内容宽度自适应,不换行,不隐藏

2024.2.27今天我学习了如何用el-table实现表格宽度的自适应,当我们动态渲染表格数据的时候,有时候因为内容太多会出现挤压换行的效果:

我们需要根据内容的最大长度设置动态的宽度,这边我在utils里面封装了一个js:

//el-table表格内容宽度自适应
const content_width_adaptation_js = {flexColumnWidth(label, prop, table_data) {//label表格列表//prop列表对应的数据//table_data表格数据const arr = table_data.map(item => item[prop])arr.push(label)// 自动撑开表格内容最大宽度function getMaxLength(arr) {return arr.reduce((acc, item) => {if (item) {const calcLen = getTextWidth(item)if (acc < calcLen) {acc = calcLen}}return acc}, 0)}// 自动撑开表格内容最大宽度function getTextWidth(str) {let width = 0const html = document.createElement('span')html.innerText = strhtml.className = 'getTextWidth'document.querySelector('body').appendChild(html)width = document.querySelector('.getTextWidth').offsetWidthdocument.querySelector('.getTextWidth').remove()return width}return (getMaxLength(arr) + 40) + 'px'},
}
export default content_width_adaptation_js

然后在main.js中引入:

import elTableAdaptationWidth from '@/utils/el_table_content_width_adaptation'//el-table表格内容宽度自适应
Vue.prototype.elTableAdaptationWidth = elTableAdaptationWidth.flexColumnWidth

然后在页面中直接调用就可以了:

<el-table>
<el-table-column v-for="item in tableList" :label="item.label" :prop="item.prop":width="elTableAdaptationWidth(item.label,item.prop,tableList)"/>
</el-table>

效果如下:

相关文章:

  • NR 2-STEP RA Absolute Timing Advance Command MAC CE的应用场景
  • 连接未来:嵌入式系统在物联网时代的应用
  • 【每日前端面经】2023-02-27
  • go - 学习笔记 -2
  • 服务器防火墙的应用技术有哪些
  • Redis 16种妙用
  • 黑马程序员——接口测试——day03——Postman断言、关联、参数化
  • 智慧公厕让社区生活更美好
  • Python实战:读取MATLAB文件数据(.mat文件)
  • windows系统使用Vscode在WSL调试golang本地进程
  • windows安装部署node.js并搭建Vue项目
  • 半小时到秒级,京东零售定时任务优化怎么做的?
  • 数据库 -neo4j的基本操作
  • Flink SQL 中的流式概念:状态算子
  • 240Hz高刷电竞显示器 - HKC VG253KM
  • 【跃迁之路】【444天】程序员高效学习方法论探索系列(实验阶段201-2018.04.25)...
  • HTTP中的ETag在移动客户端的应用
  • javascript从右向左截取指定位数字符的3种方法
  • MySQL-事务管理(基础)
  • 翻译--Thinking in React
  • 官方新出的 Kotlin 扩展库 KTX,到底帮你干了什么?
  • 开年巨制!千人千面回放技术让你“看到”Flutter用户侧问题
  • 推荐一款sublime text 3 支持JSX和es201x 代码格式化的插件
  • 项目实战-Api的解决方案
  • 新书推荐|Windows黑客编程技术详解
  • “十年磨一剑”--有赞的HBase平台实践和应用之路 ...
  • Java总结 - String - 这篇请使劲喷我
  • 阿里云服务器如何修改远程端口?
  • 说说我为什么看好Spring Cloud Alibaba
  • ​低代码平台的核心价值与优势
  • #define 用法
  • #每日一题合集#牛客JZ23-JZ33
  • (+4)2.2UML建模图
  • (01)ORB-SLAM2源码无死角解析-(56) 闭环线程→计算Sim3:理论推导(1)求解s,t
  • (C语言)字符分类函数
  • (Matalb时序预测)PSO-BP粒子群算法优化BP神经网络的多维时序回归预测
  • (NO.00004)iOS实现打砖块游戏(九):游戏中小球与反弹棒的碰撞
  • (论文阅读40-45)图像描述1
  • (转载)跟我一起学习VIM - The Life Changing Editor
  • (最全解法)输入一个整数,输出该数二进制表示中1的个数。
  • 、写入Shellcode到注册表上线
  • .NET Micro Framework 4.2 beta 源码探析
  • .Net Winform开发笔记(一)
  • .NET 跨平台图形库 SkiaSharp 基础应用
  • .NET的数据绑定
  • .NET使用存储过程实现对数据库的增删改查
  • .NET是什么
  • .Net通用分页类(存储过程分页版,可以选择页码的显示样式,且有中英选择)
  • .NET业务框架的构建
  • [ C++ ] STL_vector -- 迭代器失效问题
  • [ Linux Audio 篇 ] 音频开发入门基础知识
  • [ 常用工具篇 ] AntSword 蚁剑安装及使用详解
  • [20150321]索引空块的问题.txt
  • [2018-01-08] Python强化周的第一天
  • [android学习笔记]学习jni编程