针对组件业务上的需求,需要给 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、实际表格的效果图: