jamis
Version:
一种支持通过JSON配置方式生成页面的组件库
48 lines (47 loc) • 1.65 kB
TypeScript
import React from 'react';
import type { PaginationCompProps, PaginationState } from './types';
export declare class Pagination extends React.Component<PaginationCompProps, PaginationState> {
static defaultProps: Partial<PaginationCompProps>;
state: {
pageNum: string;
perPage: number;
};
constructor(props: PaginationCompProps);
static getDerivedStateFromProps(nextProps: PaginationCompProps, preState: PaginationState): {
perPage: number | undefined;
} | null;
componentDidUpdate(prevProps: PaginationCompProps): void;
handlePageNumChange: (page: number, perPage?: number) => void;
/**
* 渲染每个页码li
*
* @param page 页码
*/
renderPageItem: (page: number) => JSX.Element;
/**
* 渲染...
*
* @param key 类型 'prev-ellipsis' | 'next-ellipsis'
* @param page 页码
*/
renderEllipsis: (key: string) => JSX.Element;
/**
* 渲染器事件方法装饰器
*
* @param cur 当前页数
* @param counts 总共页码按钮数
* @param min 最小页码
* @param max 最大页码
*/
handlePageNums: (cur: number, counts: number, min: number, max: number) => Array<any>;
getLastPage(): number;
handlePageChange(e: React.ChangeEvent<any>): void;
renderWidgetPerPage: () => JSX.Element;
renderWidgetGo: () => JSX.Element;
renderWidgetPager: (lastPage: number) => JSX.Element;
renderWidgetStatistics: () => JSX.Element;
renderSimplePager: () => JSX.Element;
renderNormalPager: () => (JSX.Element | null)[];
render(): JSX.Element;
}
export default Pagination;