diff --git a/docs/examples/measureRowRender.tsx b/docs/examples/measureRowRender.tsx
index 6aba53295..ad482c455 100644
--- a/docs/examples/measureRowRender.tsx
+++ b/docs/examples/measureRowRender.tsx
@@ -31,9 +31,14 @@ const data = [
];
// 自定义 MeasureRow 渲染,隐藏弹层内容
-const measureRowRender: TableProps['measureRowRender'] = measureRow => (
-
{measureRow}
-);
+const measureRowRender: TableProps['measureRowRender'] = measureRow => {
+ if (React.isValidElement(measureRow)) {
+ return React.cloneElement(measureRow, {
+ style: { ...(measureRow.props as any).style, display: 'none' },
+ });
+ }
+ return measureRow;
+};
// 示例:使用 measureRowRender 来隐藏 MeasureRow 中的弹层
const MeasureRowRenderExample: React.FC = () => {
diff --git a/src/FixedHolder/index.tsx b/src/FixedHolder/index.tsx
index cdf6bcfd0..925206e1e 100644
--- a/src/FixedHolder/index.tsx
+++ b/src/FixedHolder/index.tsx
@@ -157,31 +157,13 @@ const FixedHolder = React.forwardRef>((pro
const mergedColumnWidth = useColumnWidth(colWidths, columCount);
- const colGroupNode = useMemo(() => {
+ const isColGroupEmpty = useMemo(() => {
// use original ColGroup if no data or no calculated column width, otherwise use calculated column width
// Return original colGroup if no data, or mergedColumnWidth is empty, or all widths are falsy
- if (
- noData ||
- !mergedColumnWidth ||
- mergedColumnWidth.length === 0 ||
- mergedColumnWidth.every(width => !width)
- ) {
- return ColGroup;
- }
- return (
-
- );
- }, [
- noData,
- mergedColumnWidth,
- combinationScrollBarSize,
- columCount,
- flattenColumnsWithScrollbar,
- ]);
+ const noWidth =
+ !mergedColumnWidth || !mergedColumnWidth.length || mergedColumnWidth.every(w => !w);
+ return noData || noWidth;
+ }, [noData, mergedColumnWidth]);
return (
>((pro
width: scrollX,
}}
>
- {colGroupNode}
+ {isColGroupEmpty ? null : (
+
+ )}
{children({
...restProps,
stickyOffsets: headerStickyOffsets,