UNPKG

shineout

Version:

Shein 前端组件库

71 lines (70 loc) 2.97 kB
/// <reference types="react" /> import { PureComponent } from '../component'; import { SeperateTableProps, TheadProps } from './Props'; import { ScrollProps } from '../Scroll/Props'; interface SeperateTableState { scrollTop: number; scrollLeft: number; offsetLeft?: number; offsetRight?: number; currentIndex: number; floatFixed: boolean; resize: boolean; colgroup?: number[]; } declare class SeperateTable<DataItem, Value> extends PureComponent<SeperateTableProps<DataItem, Value>, SeperateTableState> { bindTbody: (el: HTMLDivElement) => void; bindRealTbody: (el: HTMLTableElement) => void; bindThead: (el: HTMLTableElement) => void; bindHeadWrapper: (el: HTMLDivElement) => void; bindFoot: (el: HTMLTableElement) => void; rmOverScrollListener?: (() => void) | null; thead: HTMLTableElement; tbody: HTMLDivElement; tfoot: HTMLTableElement; realTbody: HTMLTableElement; headWrapper: HTMLDivElement; cachedRowHeight: number[]; lastScrollArgs: Parameters<ScrollProps['onScroll']>; lastScrollTop: number; ajustBottomScroll: boolean; renderByExpand: boolean; lastResetLeft: number; lastResetRight: number; lastData: SeperateTableProps<DataItem, Value>['data']; lastColumns: SeperateTableProps<DataItem, Value>['columns']; static defaultProps: { rowHeight: number; }; constructor(props: SeperateTableProps<DataItem, Value>); componentDidMount(): void; componentDidUpdate(prevProps: SeperateTableProps<DataItem, Value>): void; componentWillUnmount(): void; getIndex(scrollTop?: number): number; getContentHeight(): number; getContentWidth(): number; getSumHeight(start: number, end: number): number; getLastRowHeight(index: number): number; setRowHeight(height: number, index: number, expand: boolean): void; setTop(scrollHeight: number, fullHeight: number, top: number): void; checkScrollToIndex(index: number, outerHeight: number): number; ajustBottom(dataChange: boolean): void; updateScrollLeft(): void; adjustScrollLeft(): void; resetFloatFixed(): void; resetIndex(): number; resetHeight(): void; resetWidth(left?: number, right?: number): void; bindElement(key: 'thead' | 'tbody' | 'tfoot' | 'realTbody' | 'headWrapper', el: HTMLElement): void; scrollToTop(): void; scrollToIndex(index: number, callback?: () => void): void; scrollOffset(index: number, callback: () => void): void; handleScroll(...args: Parameters<ScrollProps['onScroll']>): void; handleSortChange(...args: Parameters<TheadProps<DataItem, Value>['onSortChange']>): void; handleColgroup(tds: NodeListOf<HTMLTableCellElement>): void; renderBody(floatClass: string[]): JSX.Element; renderHeader(floatClass: string[]): JSX.Element; renderFooter(floatClass: string[]): JSX.Element | null; render(): (JSX.Element | null)[]; } export default SeperateTable;