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

element Plus中 el-table表头宽度自适应,不换行

在工作中,使用el-table表格进行开发后,遇到了小屏幕显示器上显示表头文字会出现换行展示,比较影响美观,因此需要让表头的宽度变为不换行,且由内容自动撑开。

以下是作为工作记录,用于demo演示教程

先贴个需要优化的代码

<template><div style="width: 100%;height: 100%;overflow: hidden;"><el-table :data="tableData" ><el-table-column prop="date" label="info_Date"/><el-table-column prop="name" label="info_Name"/><el-table-column prop="age" label="info_Age"/><el-table-column prop="gender" label="info_Gender"/><el-table-column prop="type" label="info_Type"/><el-table-column prop="address" label="info_Address" /></el-table></div>
</template><script lang="ts" setup>
const tableData = [{date: '05-03',name: '张三',age:18,gender:'男',type:'高中生',address: 'No. 189, Grove St, Los Angeles',},{date: '05-02',name: '李四',age:19,gender:'女',type:'大学生',address: 'No. 189, Grove St, Los Angeles',}
]
</script>

在页面中的效果是,表头出现了换行的情况

根据官网提示 列标题 Label 区域渲染使用的 Function  =>   render-header,于是就使用这个方法对表头等宽度进行计算

<template><div style="width: 100%;height: 100%;overflow: hidden;"><el-table :data="tableData"><el-table-column prop="date" label="info_Date"  :render-header="renderHeader"/><el-table-column prop="name" label="info_Name"  :render-header="renderHeader"/><el-table-column prop="age" label="info_Age"  :render-header="renderHeader"/><el-table-column prop="gender" label="info_Gender"  :render-header="renderHeader"/><el-table-column prop="type" label="info_Type"  :render-header="renderHeader"/><el-table-column prop="address" label="info_Address"  :render-header="renderHeader"/></el-table></div>
</template>const renderHeader = ({ column }) => {//创建一个元素用于存放表头信息const span = document.createElement('span')// 将表头信息渲染到元素上span.innerText = column.label// 在界面中添加该元素document.body.appendChild(span)//获取该元素的宽度(包含内外边距等信息)const spanWidth = span.getBoundingClientRect().width + 20  //渲染后的 div 内左右 padding 都是 10,所以 +20//判断是否小于element的最小宽度,两者取最大值column.minWidth = column.minWidth > spanWidth ? column.minWidth : spanWidth// 计算完成后,删除该元素document.body.removeChild(span)return column.label
}

效果已经实现

http://www.lryc.cn/news/497936.html

相关文章:

  • 【Android】从事件分发开始:原理解析如何解决滑动冲突
  • 如何使用JDBC向数据库中插入日期数据???
  • 高频面试题(含笔试高频算法整理)基本总结回顾29
  • Flink日志配置
  • 论文 | EfficientRAG: Efficient Retriever for Multi-Hop Question Answering
  • 超越Hallo和AniPortrait?音频驱动肖像动画新方法LetsTalk
  • 手机LCD分区刷新技术介绍
  • WPF软件花屏的解决方法
  • 深度学习笔记——模型压缩和优化技术(蒸馏、剪枝、量化)
  • 开发手札:Win+Mac下工程多开联调
  • 项目基于oshi库快速搭建一个cpu监控面板
  • 【c语言】指针3
  • 【开源】A063—基于Spring Boot的农产品直卖平台的设计与实现
  • Can‘t find variable: token(token is not defined)
  • 【JavaEE 初阶】⽹络编程套接字
  • 【Linux内核】Hello word程序
  • PHP 与 MySQL 搭配的优势
  • 深入浅出:PHP中的变量与常量全解析
  • 初步简单的理解什么是库,什么是静态库,什么是动态库
  • 从ctfwiki开始的pwn之旅 3.ret2syscall
  • 使用 httputils + protostuff 实现高性能 rpc
  • 系统思考—战略共识
  • Java版-速通数据结构-树基础知识
  • 详尽的oracle sql函数
  • SAP IDOC Error VG205
  • DSP 的 CV 算子调用
  • WMI攻击-基础篇(一)
  • 使用Pygame创建一个简单的消消乐游戏
  • 证明直纹面是可展曲面沿着直母线,曲面的切平面不变
  • Chrome控制台 网站性能优化指标一览