fix(BasicTable->useColumns): handle deep colunm hidden (#3561) resolve #3559

This commit is contained in:
xachary
2024-01-20 10:56:16 +08:00
committed by GitHub
parent e6797043c5
commit 54af5bb42d

View File

@@ -297,9 +297,23 @@ function sortFixedColumn(columns: BasicColumn[]) {
}
defColumns.push(column);
}
return [...fixedLeftColumns, ...defColumns, ...fixedRightColumns].filter(
(item) => !item.defaultHidden,
);
// 筛选逻辑
const filterFunc = (item) => !item.defaultHidden;
// 筛选首层显示列1级表头
const viewColumns = [...fixedLeftColumns, ...defColumns, ...fixedRightColumns].filter(filterFunc);
// 筛选>=2级表头深度优先
const list = [...viewColumns];
while (list.length) {
const current = list[0];
if (Array.isArray(current.children)) {
current.children = current.children.filter(filterFunc);
list.shift();
list.unshift(...current.children);
} else {
list.shift();
}
}
return viewColumns;
}
// format cell