zent
Version:
一套前端设计语言和基于React的实现
52 lines (51 loc) • 1.86 kB
TypeScript
import { PureComponent } from 'react';
import { GridSortType, IGridOnChangeConfig, IGridScrollDelta, IGridInnerFixedType } from './types';
import { IGridInnerColumn, IGridProps } from './Grid';
import Store from './Store';
export interface IGridHeaderProps<Data> {
size: IGridProps['size'];
prefix: string;
columns: Array<IGridInnerColumn<Data>>;
sortType: GridSortType;
defaultSortType?: GridSortType;
sortBy?: string;
onChange: (config: IGridOnChangeConfig) => void;
store: Store;
fixed?: IGridInnerFixedType;
fixedColumnsHeadRowsHeight: Array<number | string>;
scroll: IGridScrollDelta;
}
interface IHeaderCell {
key: string | number;
className: string;
children?: React.ReactNode;
colSpan?: number;
rowSpan?: number;
}
interface IGridHeaderState {
rows: Array<Array<IHeaderCell>>;
}
declare class Header<Data> extends PureComponent<IGridHeaderProps<Data>, IGridHeaderState> {
constructor(props: IGridHeaderProps<Data>);
unsubscribe: any;
getSortInfo: (column: IGridInnerColumn<Data>, props: IGridHeaderProps<Data>) => {
sortBy: string;
sortType: GridSortType;
sortTooltip: string;
};
getChildrenAndEvents: (column: IGridInnerColumn<Data>, props: IGridHeaderProps<Data>) => {
children: JSX.Element;
onClick: () => void;
} | {
children: import("react").ReactNode;
onClick?: undefined;
};
getHeaderRows: (passProps?: IGridHeaderProps<Data>, columns?: Array<IGridInnerColumn<Data>>, currentRow?: number, rows?: Array<Array<IHeaderCell>>) => IHeaderCell[][];
subscribe: () => void;
componentDidMount(): void;
componentWillReceiveProps(nextProps: IGridHeaderProps<Data>): void;
componentWillUnmount(): void;
renderThead(): JSX.Element;
render(): JSX.Element;
}
export default Header;