el-table-column 表格列自适应宽度的组件封装说明

针对组件业务上的需求,需要给 el-table-column 加上限制,需保证表头在一行展示,部分列的内容要一行展示,自适应单项列的宽度;

1、先计算数据渲染后的 el-table-column 文本宽度;

因列表的有些数据需要做到数值映射显示,只能等数据渲染完后,再做文本的宽度计算;

计算文本宽度的方法 - calcTextWidth:

计算渲染后表格每一列的最大宽度 - tableColumnWidth:

2、对于 el-table-column 组件的封装,需要比较列的宽度与表头的宽度:


在.vue 业务代码中使用:

采用混淆的模式,将 tableColumn 组件名替换 el-table-column,加上一个属性:column-width,属性值为混淆 js 的 columnWidthObj.xxx(xxx 为 prop 属性值);


3、实际表格的效果图:

相关推荐
雪芽蓝域zzs1 天前
第7节:多选模式、自定义选项渲染、受控弹窗显隐
vue.js·elementui
liangshiwei2 天前
ABP x Vue:介绍 ABP Vue UI
vue·abp
雪芽蓝域zzs2 天前
第6节:远程搜索弹窗(remote 模式),弹窗滚动加载分页
vue.js·elementui
雪芽蓝域zzs3 天前
第4节:el-select 弹窗事件控制(打开 / 关闭、选中事件、弹窗滚动事件)
vue.js·elementui
frjc3 天前
前端技术选型:主流方案对比与落地建议
vue·react·angular
ss2734 天前
AI全栈实战 | 2.3-01 组件库实战:Element Plus 怎么搭出专业界面,过度封装为什么成维护负担
前端·javascript·elementui·vue
雪芽蓝域zzs4 天前
第3节:el-select 弹窗定位、滚动穿透与挂载容器(popper-append-to-body /teleported)
vue.js·elementui
雪芽蓝域zzs4 天前
第 2 节:基础扩展 - 下拉弹窗常用原生属性
vue.js·elementui
雪芽蓝域zzs5 天前
Vue3 + Element Plus el-select 下拉弹窗
vue.js·elementui
zzZ··*5 天前
CodeBuddy 用量看板:本地解析 Token 与积分消耗,不联网不上传
python·vue·ai编程