Element Vue 框架的 Table 列宽度自适应解决方案

时间:2022-07-28
本文章向大家介绍Element Vue 框架的 Table 列宽度自适应解决方案,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

# 原理

请求获取数据后,遍历数据,动态渲染一个节点,获取节点的宽度,最后改变表格列宽度

# 核心代码

/**
* 计算字符串宽度
* @param str
* @returns {number}
*/
function getStrWidth (str) {
	if (!document.getElementById('str-width')) {
	  document.getElementsByTagName('body')[0].insertAdjacentHTML('beforeend', '<span id="str-width"></span>')
	}
	document.getElementById('str-width').innerText = str
	return Math.ceil(document.getElementById('str-width').getBoundingClientRect().width) + 20 // 多加 20px 是为了容错
}

1 2 3 4 5 6 7 8 9 10 11 12

#str-width {
	position: fixed;
	opacity: 0;
	top: 0;
	left: 0;
}

1 2 3 4 5 6