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>

 

posted on 2024-08-02 10:30  技术高超  阅读(373)  评论(0)    收藏  举报