Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -52,7 +52,7 @@
"dependencies": {
"@rc-component/context": "^2.0.1",
"@rc-component/resize-observer": "^1.0.0",
"@rc-component/util": "^1.11.1",
"@rc-component/util": "^1.13.0",
"@rc-component/virtual-list": "^1.0.1",
"clsx": "^2.1.1"
},
Expand Down
5 changes: 2 additions & 3 deletions src/Cell/useCellRender.ts
Original file line number Diff line number Diff line change
@@ -1,8 +1,7 @@
import { get as getValue, isEqual, useMemo, warning } from '@rc-component/util';
import { get as getValue, isEqual, isNonNullable, useMemo, warning } from '@rc-component/util';
import * as React from 'react';
import PerfContext from '../context/PerfContext';
import type { CellType, ColumnType, DataIndex, RenderedCell } from '../interface';
import { validateValue } from '../utils/valueUtil';
import { useImmutableMark } from '../context/TableContext';

function isRenderCell<RecordType>(
Expand All @@ -26,7 +25,7 @@ export default function useCellRender<RecordType>(
// ======================== Render ========================
const retData = useMemo<[React.ReactNode, CellType<RecordType>] | [React.ReactNode]>(
() => {
if (validateValue(children)) {
if (isNonNullable(children)) {
return [children];
}

Expand Down
19 changes: 10 additions & 9 deletions src/Table.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,8 @@ import {
get as getValue,
getTargetScrollBarSize,
isEqual,
isNonNullable,
isReactRenderable,
pickAttrs,
useEvent,
useLayoutEffect,
Expand Down Expand Up @@ -76,7 +78,7 @@ import Panel from './Panel';
import StickyScrollBar from './stickyScrollBar';
import Column from './sugar/Column';
import ColumnGroup from './sugar/ColumnGroup';
import { getColumnsKey, validateValue, validNumberValue } from './utils/valueUtil';
import { getColumnsKey, validNumberValue } from './utils/valueUtil';

export type CompareProps<T extends React.ComponentType<any>> = (
prevProps: Readonly<React.ComponentProps<T>>,
Expand Down Expand Up @@ -397,8 +399,8 @@ const Table = <RecordType extends DefaultRecordType>(
const pureColWidths = colsKeys.map(columnKey => colsWidths.get(columnKey));
const colWidths = React.useMemo(() => pureColWidths, [pureColWidths.join('_')]);
const stickyOffsets = useStickyOffsets(colWidths, flattenColumns);
const fixHeader = scroll && validateValue(scroll.y);
const horizonScroll = (scroll && validateValue(mergedScrollX)) || Boolean(expandableConfig.fixed);
const fixHeader = scroll && isNonNullable(scroll.y);
const horizonScroll = (scroll && isNonNullable(mergedScrollX)) || Boolean(expandableConfig.fixed);
const fixColumn = horizonScroll && flattenColumns.some(({ fixed }) => fixed);

// Sticky
Expand Down Expand Up @@ -675,10 +677,9 @@ const Table = <RecordType extends DefaultRecordType>(
<ColGroup colWidths={flattenColumns.map(({ width }) => width)} columns={flattenColumns} />
);

const captionElement =
caption !== null && caption !== undefined ? (
<caption className={`${prefixCls}-caption`}>{caption}</caption>
) : undefined;
const captionElement = isNonNullable(caption) ? (
<caption className={`${prefixCls}-caption`}>{caption}</caption>
) : undefined;

const dataProps = pickAttrs(props, { data: true });
const ariaProps = pickAttrs(props, { aria: true });
Expand Down Expand Up @@ -730,7 +731,7 @@ const Table = <RecordType extends DefaultRecordType>(
{captionElement}
{bodyColGroup}
{bodyTable}
{!fixFooter && summaryNode && (
{!fixFooter && isReactRenderable(summaryNode) && (
<Footer stickyOffsets={stickyOffsets} flattenColumns={flattenColumns}>
{summaryNode}
</Footer>
Expand Down Expand Up @@ -813,7 +814,7 @@ const Table = <RecordType extends DefaultRecordType>(
{bodyColGroup}
{showHeader !== false && <Header {...headerProps} {...columnContext} />}
{bodyTable}
{summaryNode && (
{isReactRenderable(summaryNode) && (
<Footer stickyOffsets={stickyOffsets} flattenColumns={flattenColumns}>
{summaryNode}
</Footer>
Expand Down
4 changes: 0 additions & 4 deletions src/utils/valueUtil.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -33,10 +33,6 @@ export function getColumnsKey<T = any>(columns: readonly GetColumnKeyColumn<T>[]
return columnKeys;
}

export function validateValue<T>(val: T) {
return val !== null && val !== undefined;
}

export function validNumberValue(value: any) {
return typeof value === 'number' && !Number.isNaN(value);
}
Loading