chowa
Version:
UI component library based on React
83 lines (82 loc) • 2.78 kB
TypeScript
/**
* @license chowa v1.1.3
*
* Copyright (c) Chowa Techonlogies Co.,Ltd.(http://www.chowa.cn).
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
*/
import * as React from 'react';
import * as PropTypes from 'prop-types';
export interface PaginationProps {
className?: string;
style?: React.CSSProperties;
pageSize?: number;
total: number;
withQuickJumper?: boolean;
onChange?: (pageNumber: number) => void;
current?: number;
hideOnSinglePage?: boolean;
preBtnText?: string;
nextBtnText?: string;
justify?: 'start' | 'end' | 'center';
compact?: boolean;
bordered?: boolean;
pageBtnAmount?: number;
pageSizeOptions?: number[];
pageSizeUnit?: string;
onPageSizeChange?: (pageSize: number) => void;
simple?: boolean;
}
export interface PaginationState {
selfPageNumber: number;
selfPageSize: number;
pageTotal: number;
jumpPageNumber: number;
}
declare class Pagination extends React.PureComponent<PaginationProps, PaginationState> {
static propTypes: {
className: PropTypes.Requireable<string>;
style: PropTypes.Requireable<object>;
pageSize: PropTypes.Requireable<number>;
total: PropTypes.Validator<number>;
withQuickJumper: PropTypes.Requireable<boolean>;
onChange: PropTypes.Requireable<(...args: any[]) => any>;
current: PropTypes.Requireable<number>;
hideOnSinglePage: PropTypes.Requireable<boolean>;
preBtnText: PropTypes.Requireable<string>;
nextBtnText: PropTypes.Requireable<string>;
justify: PropTypes.Requireable<string>;
compact: PropTypes.Requireable<boolean>;
bordered: PropTypes.Requireable<boolean>;
pageBtnAmount: PropTypes.Requireable<number>;
pageSizeOptions: PropTypes.Requireable<any[]>;
pageSizeUnit: PropTypes.Requireable<string>;
onPageSizeChange: PropTypes.Requireable<(...args: any[]) => any>;
simple: PropTypes.Requireable<boolean>;
};
static defaultProps: {
pageSize: number;
withQuickJumper: boolean;
current: number;
hideOnSinglePage: boolean;
justify: string;
compact: boolean;
bordered: boolean;
pageBtnAmount: number;
simple: boolean;
};
constructor(props: PaginationProps);
componentDidUpdate(preProps: PaginationProps): void;
private pageSizeChangeHandler;
private goPrePage;
private goNextPage;
private goPrePageByBtnSize;
private goNextPageByBtnSize;
private onChangeHandler;
private onKeyDownHandler;
private onBlurHandler;
private pageChange;
render(): JSX.Element;
}
export default Pagination;