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,