UNPKG

@douyinfe/semi-ui

Version:

A modern, comprehensive, flexible design system and UI library. Connect DesignOps & DevOps. Quickly build beautiful React apps. Maintained by Douyin-fe team.

67 lines (66 loc) 2.84 kB
import React, { PureComponent, ReactNode } from 'react'; import PropTypes from 'prop-types'; import Store from '@douyinfe/semi-foundation/lib/es/utils/Store'; import { TableContextProps } from '../table-context'; import { ColumnProps, ExpandIcon, TableComponents, Virtualized, Fixed } from '../interface'; export interface TableExpandedRowProps { cellWidths: number[]; className?: string; columns?: ColumnProps[]; components?: TableComponents; defaultExpandAllRows?: boolean; defaultExpandedRowKeys?: (string | number)[]; expandIcon?: ExpandIcon; expandRowByClick?: boolean; expanded?: boolean; expandedRowKeys?: (string | number)[]; expandedRowRender?: (record?: Record<string, any>, index?: number, expanded?: boolean) => ExpandedRowRenderReturnType; indentSize?: number; index?: number; prefixCls?: string; record?: Record<string, any>; renderExpandIcon?: (record?: Record<string, any>, isNested?: boolean) => ReactNode | null; store?: Store; style?: React.CSSProperties; virtualized?: Virtualized; displayNone?: boolean; } /** * Render expanded row */ export default class TableExpandedRow extends PureComponent<TableExpandedRowProps> { static contextType: React.Context<TableContextProps>; static propTypes: { cellWidths: PropTypes.Validator<any[]>; className: PropTypes.Requireable<string>; columns: PropTypes.Requireable<any[]>; components: PropTypes.Requireable<object>; defaultExpandAllRows: PropTypes.Requireable<boolean>; defaultExpandedRowKeys: PropTypes.Requireable<any[]>; expandIcon: PropTypes.Requireable<NonNullable<object | PropTypes.ReactNodeLike>>; expandRowByClick: PropTypes.Requireable<boolean>; expanded: PropTypes.Requireable<boolean>; expandedRowKeys: PropTypes.Requireable<any[]>; expandedRowRender: PropTypes.Requireable<(...args: any[]) => any>; indentSize: PropTypes.Requireable<number>; index: PropTypes.Requireable<NonNullable<string | number>>; onExpand: PropTypes.Requireable<(...args: any[]) => any>; onExpandedRowsChange: PropTypes.Requireable<(...args: any[]) => any>; prefixCls: PropTypes.Requireable<string>; record: PropTypes.Requireable<object>; renderExpandIcon: PropTypes.Requireable<(...args: any[]) => any>; store: PropTypes.Requireable<object>; style: PropTypes.Requireable<object>; virtualized: PropTypes.Requireable<NonNullable<boolean | object>>; }; static defaultProps: { record: {}; prefixCls: "semi-table"; }; context: TableContextProps; render(): React.JSX.Element; } export type ExpandedRowRenderReturnType = React.ReactNode | { children: ReactNode; fixed: Fixed; } & ColumnProps;