eltable 列头不换行 内容自适应

这段代码展示了如何动态计算ElementUI的el-table-column的最小宽度,以避免内容挤压。通过创建临时span元素,获取文本的最小宽度并添加适当的padding,然后设置column.minWidth以确保列宽足够显示内容。这种方法在处理动态数据和自定义表头时尤其有用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 

 

以下是两段关键性代码段:

 <el-table-column prop="ZJXZ" label="资金性质" sortable show-overflow-tooltip :render-header="renderHeader"> </el-table-column>

   renderHeader(h, { column, $index }) {
                    // 新建一个 span
                    let span = document.createElement('span');
                    // 设置表头名称
                    span.innerText = column.label;
                    // 临时插入 document
                    document.body.appendChild(span);
                    // 重点:获取 span 最小宽度,设置当前列,注意这里加了 20,字段较多时还是有挤压,且渲染后的 div 内左右 padding 都是 10,所以 +20 。(可能还有边距/边框等值,需要根据实际情况加上)
                    column.minWidth = span.getBoundingClientRect().width + 50;
                    // 移除 document 中临时的 span
                    document.body.removeChild(span);
                    return h('span', column.label);
                },

内容来源于网络,记录在这里是,方便日后查看

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值