import React from 'react'; import RcPagination from 'rc-pagination'; import enUS from 'rc-pagination/lib/locale/en_US'; import classNames from 'classnames'; import injectLocale from '../locale-provider/injectLocale'; import Select from '../select'; import MiniSelect from './MiniSelect'; export interface PaginationProps { total: number; defaultCurrent?: number; current?: number; defaultPageSize?: number; pageSize?: number; onChange?: (page: number, pageSize: number) => void; showSizeChanger?: boolean; pageSizeOptions?: string[]; onShowSizeChange?: (current: number, size: number) => void; showQuickJumper?: boolean; showTotal?: (total: number, range: [number, number]) => React.ReactNode; size?: string; simple?: boolean; style?: React.CSSProperties; locale?: Object; className?: string; prefixCls?: string; selectPrefixCls?: string; itemRender?: (page: number, type: 'page' | 'prev' | 'next' | 'jump-prev' | 'jump-next') => React.ReactNode; } abstract class Pagination extends React.Component { static defaultProps = { prefixCls: 'ant-pagination', selectPrefixCls: 'ant-select', }; abstract getLocale(); render() { const { className, size, ...restProps } = this.props; const locale = this.getLocale(); const isSmall = size === 'small'; return ( ); } } const injectPaginationLocale = injectLocale('Pagination', enUS); export default injectPaginationLocale(Pagination as any);