2023.2.10今天我学习了如何实现自定义表头的宽度自适应。

在使用el-table的时候我们使用动态的表头会发现出现宽度不够挤压的情况,如:

这会让整个页面的布局不美观,于是我找到了:render-header计算一个表头的字节长度,进行计算拿到自定义的宽度。

效果如:

我们可以进行在main.js中引入一个全局组件的封装。

新文件.js:

// 实现全局表头自适应的方法
// 在el-table-column中使用:render-header="tableHeaders.renderHeader"
//renderHeader自定义的变量名
const commonJS = {renderHeader(h, { column, $index }) {let width = 0// 新建一个 spanlet span = document.createElement('span');// 设置表头名称span.innerText = column.label;// 设置表头classspan.className = 'getTextWidth'// 临时插入 documentdocument.querySelector('body').appendChild(span)// 获取span标签的宽度width = document.querySelector('.getTextWidth').offsetWidth// 重点:获取span最小宽度,设置当前列,注意这里加了20,字段较多时还是有挤压,且渲染后的div内左右padding都是10,所以+20.如果有排序按钮要记得再加上24,排序按钮的宽度是24(可能还有边距/边框等值,需要根据实际情况加上)column.minWidth = width + 50;// 移除 document 中临时的 spandocument.querySelector('.getTextWidth').remove()return h('span', column.label);},
}
export default commonJS;

main.js引入:

// 全局实现表头自定义宽度的方法(方法名可以自定义)
import tableHeaders from '@/customTableHeaders'// 全局实现表头自定义宽度的方法
Vue.prototype.tableHeaders = tableHeaders

相应的table中:

<el-table>
//tableHeaders自定义的方法名,renderHeader自定义的变量名<el-table-column   :render-header="tableHeaders.renderHeader"></el-table-column>
</el-table>

element el-table(:render-header)实现动态表头的自适应相关推荐

  1. element ui table封装组件,render 函数动态事件设置

    接着上一篇讲的,封装element ui table, 支持自定义列的展示和按照指定顺序展示 自定义列需要在引用页面重新写一下,这样就可以定义化了,多数用于一些转换,或者操作列场景下,自行考虑即可,我 ...

  2. 关于element table 动态表头+动态表头及内容+表格优化+初始化表格+隐藏功能,技术提升请来!

    本篇文章属于升级版,欢迎交流指教~~ 导航: 表格头部与内容对不齐 表格内容过长 处理初始化闪过暂无数据 动态表头1 动态表头+内容2 动态表头及层级表头 1.第一个就是表格头部与内容对不齐的问题了, ...

  3. element 表格table纵横双列表头 斜线样式处理和多级表头循环

    element 表格table纵横双列表头 斜线样式处理和多级表头循环 <!DOCTYPE html> <html> <head><meta charset= ...

  4. element ui表格点击整行选择_element-ui实现动态表头的表格问题汇总

    demo代码: el-table动态表头 {{tableBody[scope.$index][idx]}} 动态表格是生成列,也就是每一个然后再根据所有列去遍历生成行,这样一个过程,知道这些,要做的就 ...

  5. alter table add column多个字段_ElementUI表格el-table表头固定自适应高度解决方案

    一.前言 ElementUI.iView都以相同的方式提供了表格组件表头固定的方法,即设置组件的height属性.表头固定很重要,就在于当表格数据项很多时,滚动条出现在表格组件内,而不是出现在表格组件 ...

  6. layui表格——table.render(options)(转)

    一.使用方法 1.在页面代码里写一个table标签和id属性 <table id="demo" lay-filter="test"></tab ...

  7. DataTable动态表头

    jsp部分(此处只有table 其他无关): <table id="dataTable" class="table table-striped table-list ...

  8. layui 动态表头实现

    最近写公司的 OA 遇到很多麻烦问题 公司给我配的前端是个新来的实习生, 而且还不会用 layUI, 遇到问题从来不查文档, 都是张口就问: 这咋回事 这里数据怎么没出来 这里为什么报错 一次两次还能 ...

  9. Element UI table组件源码分析

    本文章从如下图所示的最基本的table入手,分析table组件源代码.本人已经对table组件原来的源码进行削减,源码点击这里下载.本文只对重要的代码片段进行讲解,推荐下载代码把项目运行起来,跟着文章 ...

最新文章

  1. 《cloud+》如果百度云飘走了你该怎么办?
  2. 996和被辞退,二选一
  3. spring boot 缓存_Spring Boot 集成 Redis 实现数据缓存
  4. 正则表达式-用户名规则之只含汉字、数字、字母、下划线
  5. 极光:2021年移动互联网母婴亲子行业研究报告
  6. html漂亮的表格模板+背景_教育与课程主题响应式网站着陆页模板
  7. 基于JAVA+SpringMVC+Mybatis+MYSQL的体育场地预约管理系统
  8. Windows环境下Android NDK环境搭建
  9. MySQL 读写分离 部分_一个完整的mysql读写分离环境包括以下几个部分
  10. [原创]独立模式安装Hive
  11. 截止11月5日,30日内累计跌幅最大的200只股票
  12. python - 搜狗词库 (.scel 文件转 txt)
  13. 1、JavaWbe基本概念
  14. Tomcat9的安装及配置详细步骤
  15. 免费PR转场下载 PR形状过渡视频转场MOGRT
  16. android手机电池寿命,手机电池寿命检测
  17. Scratch中设置物体的中心点
  18. 计算机不断自动重启,电脑不断自动重启怎么办?
  19. ChatGPT 之父传奇:8岁学编程,16岁出柜,37岁颠覆科技圈,网友:“天选 CEO!”...
  20. pcntl_fork导致Mysql have gone away问题解决

热门文章

  1. html游戏社区豳风破斧,诗经·豳风——《破斧》
  2. AWS 的cloudfront是如何实现S3桶的file缓存的
  3. 海信计算机怎么开机,海信电视怎么开机
  4. 企业级实战大数据课程(五)-尹成-专题视频课程
  5. python英寸和厘米的交互_python – 确定matplotlib轴大小(以像素为单位)
  6. python爬去智联招聘网_Python爬虫爬取智联招聘(进阶版)
  7. ffmpeg colorkey_options中的black对应的十六进制
  8. 8国5G网速测评!美国最快,是4G的2.7倍
  9. 软件本地化可能会用到的工具
  10. 自己动手写决策树(一)——初步搭建决策树框架