import { ChangeEvent } from 'react'; import { ConfiguredComponent } from '@befe/brick-core'; export interface PaginationProps { /** * 自定义 class */ className?: string; /** * 尺寸 * use config context baseSize as default */ size?: 'xs' | 'sm' | 'md'; /** * 是否禁用 */ disabled?: boolean; /** * 类型 * - normal 普通 * - prev-next "上一页/下一页" * - plain-number 简单页码 */ type?: 'normal' | 'prev-next' | 'plain-number'; /** * 是否显示总页数 */ withTotal?: boolean; /** * 是否显示 pageSize 下拉菜单 */ withPageSize?: boolean; /** * 是否显示跳页 */ withJumper?: boolean; /** * 当前页数控制值 */ pageNum?: number; /** * 数据总数 * @required */ total?: number; /** * 当前页数默认值 */ defaultPageNum?: number; /** * 每页数量控制值 */ pageSize?: number; /** * 每页数量默认值 */ defaultPageSize?: number; /** * 每页数选项值 */ pageSizeOptions?: number[]; /** * 当前页变化回调 * * bySizeChange: 是否为 change pageSize 触发的跳转,详见 FAQ "关于 change pageSize 的处理" */ onChangePageNum?: (pageNum: number, bySizeChange: boolean) => void; /** * pageNum 变化前的回调,根据返回值继续进行 onChangePageNum * - promise,当 promise resolve 后进行 * - false,visible 不进行 * - true | void,立即进行 * * bySizeChange: 是否为 change pageSize 触发的跳转,详见 FAQ "关于 change pageSize 的处理" */ beforeChangePageNum?: (pageNum: number, bySizeChange: boolean) => Promise | boolean | void; /** * 每页数量变化回调 */ onChangePageSize?: (pageSize: number) => void; /** * pageSize 变化前的回调,根据返回值继续进行 onChangePageSize * - promise,当 promise resolve 后进行 * - false,visible 不进行 * - true | void,立即进行 */ beforeChangePageSize?: (pageNum: number) => Promise | boolean | void; } interface PaginationState { pageNum: number; pageSize: number; pageNumInputValue: string; } export declare class Pagination extends ConfiguredComponent { static displayName: string; static defaultProps: { className: string; disabled: boolean; type: string; withTotal: boolean; withPageSize: boolean; withJumper: boolean; defaultPageNum: number; defaultPageSize: number; pageSizeOptions: number[]; total: number; }; state: PaginationState; componentLocale: import("@befe/brick-core").ComponentLocale<{ en_us: { total_prefix: string; total_suffix: (total: number) => "items" | "item"; goto_prefix: string; /** * 类型 * - normal 普通 * - prev-next "上一页/下一页" * - plain-number 简单页码 */ goto_suffix: string; goto_confirm: string; per_page_prefix: string; per_page_suffix: string; prev_page: string; /** * 是否显示总页数 */ next_page: string; }; zh_cn: { total_prefix: string; total_suffix: string; goto_prefix: string; goto_suffix: string; goto_confirm: string; per_page_prefix: string; /** * 数据总数 * @required */ per_page_suffix: string; prev_page: string; next_page: string; }; }>; constructor(props: PaginationProps); static getDerivedStateFromProps(nextProps: PaginationProps): Partial | null; get className(): string; get size(): "xs" | "sm" | "md"; get pageCount(): number; get buttonType(): "normal" | "plain"; getPageNumberItemClassName(active: boolean): string; handleClickPrev: () => void; handleClickNext: () => void; handleClickJumpButton: () => void; handleChangePageNumInput: (e: ChangeEvent) => void; handleChangePageSize: (pageSize: number) => void; handleClickPageNumber: (pageNum: number) => () => void; handlePressEnter: () => void; createPageNumberClickHandler(pageNum: number): () => void; jumpPageByStep(step: number): void; beforeChange(beforeChangeFn: () => Promise | boolean | void, afterFn: () => void, beforeChangeName: string): void; jumpPage(pageNum: number, bySizeChange?: boolean): void; createPageNumberItem(content: number): import("react/jsx-runtime").JSX.Element; renderTotal(): import("react/jsx-runtime").JSX.Element; renderPageSizeSelect(): import("react/jsx-runtime").JSX.Element; renderPageNumber(): import("react/jsx-runtime").JSX.Element; renderPageJump(): import("react/jsx-runtime").JSX.Element; renderPrevNext(): import("react/jsx-runtime").JSX.Element; renderController(): import("react/jsx-runtime").JSX.Element; render(): import("react/jsx-runtime").JSX.Element; } export {};