element 中 table 固定列使用fixed 属性;但是多级表头时只能固定第一列;
设置对应子列表头的宽度和父系表头的宽度可以使对应的列固定;
不需要固定的列则不需要设置宽度,同时父级表头的宽度需要和子级表头固定列的总宽度相等,不然会出现内容显示不全或者把后面的列遮挡的问题。
如下:

总宽度相等,如下:
- <el-table :data="tableData" class="tableStyle tableRadius" stripe
- :header-row-class-name="headerRow"
- v-loading="tabsPage[version].loading"
- :cell-style="cellStyle"
- border>
- <el-table-column :label="item.label" v-for="(item,i) of tableHeader" :width="item.width" :key="i" :fixed="item.fixed">
- <el-table-column
- show-overflow-tooltip
- v-for="(ite,j) in item.child"
- :width="ite.width"
- :fixed="ite.fixed"
- :key="j"
- :prop="ite.prop"
- :label="ite.label"
- :formatter="ite.formatter">
- </el-table-column>
- </el-table-column>
- </el-table>
- {
- label: '预测参数', prop: '',
- fixed:true,
- width: '660',
- child: [
- {label: '公司代码', prop: '', fixed: 'left',width: '80',},
- {label: '资产号', prop: '', fixed: 'left',width: '110'},
- {label: '年度', prop: '', fixed: 'left',width: '70'},
- {label: '资产类别', prop: '', fixed: 'left',width: '120'},
- {label: '电压等级', prop: '', fixed: 'left',width: '80'},
- {label: '资本化日期', prop: '', fixed: 'left',width: '100'},
- {label: '利润中心', prop: '', fixed: 'left',width: '100'},
- {label: '预测属性01', prop: ''},
- {label: '预测属性02', prop: ''},
- {label: '预测属性03', prop: ''},
- ]
- },
最终效果如下:
