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

2020-10-23 16:04:40 浏览数 (1)

# 原理

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

# 核心代码

代码语言:javascript复制
/**
* 计算字符串宽度
* @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

代码语言:javascript复制
#str-width {
	position: fixed;
	opacity: 0;
	top: 0;
	left: 0;
}

1 2 3 4 5 6

0 人点赞