Antd 表格列固定,实际分成了三块,左右固定的表格覆盖基础表格的固定列信息;所以找到基础表格,将其左右固定列的列宽和分别计算出来,并赋值给左右固定的表格;
mounted(){
setTimeout(() => {
const dom1 = document.querySelector(
".ant-table .ant-table-scroll .ant-table-fixed"
);
const domL = document.querySelector(
".ant-table .ant-table-fixed-left .ant-table-fixed"
);
const domR = document.querySelector(
".ant-table .ant-table-fixed-right .ant-table-fixed"
);
const fixedLeftEles = dom1.querySelectorAll(
"thead th.ant-table-fixedLeft-columns-in-body"
);
const selectColumn = dom1.querySelector(
"thead th.ant-table-selection-column"
);
const fixedRightEles = dom1.querySelectorAll(
"thead th.ant-table-fixedRight-columns-in-body"
);
let fixedLeftW = selectColumn ? selectColumn.clientWidth : 0;
for (let i = 0; i < fixedLeftEles.length; i++) {
fixedLeftW += fixedLeftEles[i].clientWidth;
}
let fixedRightW = 0;
for (let i = 0; i < fixedRightEles.length; i++) {
fixedRightW += fixedRightEles[i].clientWidth;
}
domL.style.width = fixedLeftW + "px";
domR.style.width = fixedRightW + "px";
}, 100);
}
13 回答13.1k 阅读
8 回答3k 阅读
3 回答1.5k 阅读✓ 已解决
2 回答5.3k 阅读✓ 已解决
5 回答1.6k 阅读
3 回答2.4k 阅读✓ 已解决
5 回答1.9k 阅读✓ 已解决
有两种情况: