choerodon-ui
Version:
An enterprise-class UI design language and React-based implementation
72 lines (71 loc) • 2.87 kB
TypeScript
import React, { ReactNode } from 'react';
import DataSetComponent, { DataSetComponentProps } from '../data-set/DataSetComponent';
import { QuickJumperPosition, SizeChangerPosition } from './enum';
import { Renderer } from '../field/FormField';
export declare type PagerType = 'page' | 'prev' | 'next' | 'first' | 'last' | 'jump-prev' | 'jump-next';
export interface PaginationProps extends DataSetComponentProps {
total?: number;
page?: number;
pageSize?: number;
maxPageSize?: number;
onChange?: (page: number, pageSize: number) => void;
beforeChange?: (page: number, pageSize: number) => Promise<boolean | undefined> | boolean | undefined | void;
itemRender?: (page: number, type: PagerType) => ReactNode;
pageSizeOptions?: string[];
pageSizeEditable?: boolean;
sizeChangerPosition?: SizeChangerPosition;
sizeChangerOptionRenderer?: Renderer;
showSizeChanger?: boolean;
showQuickJumper?: boolean | {
goButton?: React.ReactNode;
};
showSizeChangerLabel?: boolean;
showTotal?: boolean | ((total: number, range: [number, number], counting?: boolean) => React.ReactNode);
showPager?: boolean;
hideOnSinglePage?: boolean;
simple?: boolean;
quickJumperPosition?: QuickJumperPosition;
}
export default class Pagination extends DataSetComponent<PaginationProps> {
static displayName: string;
static defaultProps: {
suffixCls: string;
sizeChangerPosition: SizeChangerPosition;
quickJumperPosition: QuickJumperPosition;
sizeChangerOptionRenderer: ({ text }: {
text: any;
}) => any;
hideOnSinglePage: boolean;
showSizeChanger: boolean;
showQuickJumper: boolean;
showSizeChangerLabel: boolean;
showTotal: boolean;
simple: boolean;
};
pageInput?: number | '';
get pageSize(): number;
get page(): number;
get total(): number | undefined;
get totalPage(): number;
get next(): boolean;
getObservableProps(props: any, context: any): any;
handlePageSizeBeforeChange(value: any): boolean | Promise<boolean>;
handlePageSizeChange(value: number): void;
handleChange(page: number, pageSize: number): Promise<void>;
handlePagerClick(page: any): void;
getValidValue(value: any): any;
jumpPage(page: any): Promise<void>;
handleJumpChange(value: any): void;
handleJumpGo(e: any): void;
getOmitPropsKeys(): string[];
getOptions(): ReactNode;
getPager(page: number, type: PagerType, active?: boolean, disabledSender?: boolean): JSX.Element;
renderPagers(page: number): ReactNode;
renderSizeChange(pageSize: number): ReactNode;
renderTotal(pageSize: number, page: number, total: number): ReactNode;
/**
* 渲染快速跳至
*/
renderQuickGo(): ReactNode;
render(): JSX.Element | null;
}