element-ui的表格列自定义列数并且能自适应宽度
思路:
在不影响宽度的情况下,以自定义列优先,
在影响宽度的情况下,以自适应宽度列优先,
都不影响的情况下,以最小值优先。
总结:实际上都是取最小值
当屏幕分辨率小于750px的时候,最多显示1列,自定义列为1-6,比较,取最小值1;
当屏幕分辨率小于980px的时候,最多显示2列,自定义列为1-6,比较,取最小值;
当屏幕分辨率大于980px的时候,最多显示6列,自定义列为1-6,比较,取最小值;
//得到自适应的列 getAdaptiveCount(){ const clientWidth =document.documentElement.clientWidth; if(clientWidth>980){ return 6; }else if(clientWidth>750){ return 2; }else { return 1; } },
//得到表格列表的每列宽度 getTableListColumnWidth(maxText){ const adaptiveCount = this.getAdaptiveCount(); const count = adaptiveCount < this.columnCount ? adaptiveCount: this.columnCount; //自适应列和自定义列,取最小值 const columnWidth = 100 / count; return columnWidth; },
<el-col :key="index" :style="{ width: getTableListColumnWidth()+ '%' }">
<el-form-item :label="label + ':'">
<span> {{ props.row[dataField] }}</span>
</el-form-item>
</el-col>
浙公网安备 33010602011771号