ukelli-ui
Version:
Base on React's UI lib. Make frontend's dev simpler and faster.
71 lines (70 loc) • 2.05 kB
TypeScript
/// <reference types="react" />
import { UkeComponent } from '../utils/uke-component';
export interface DefaultPaginInfo {
/** 当前第几页 */
pIdx: number;
/** 每页多少项 */
pSize: number;
/** 一共多少项 */
total: number;
/** 是否激活分页 */
active: boolean;
}
export declare type PaginInfo = {
[key: string]: number | boolean;
} | DefaultPaginInfo;
export interface PaginationProps {
/** 分页的存储数据,可以为不确定的结构,通过 infoMapper 做映射 */
pagingInfo: PaginInfo;
/** 分页切换时的回调 */
onPagin: (nextPaginInfo: any) => void;
/** 由于不确定远端分页数据具体字段,所以有分页数据的字段映射 */
infoMapper?: {
/** 当前第几页 */
pIdx: string;
/** 每页多少项 */
pSize: string;
/** 一共多少项 */
total: string;
/** 是否激活分页 */
active: string;
};
/** 是否显示全部项 */
displayTotal?: boolean;
/** 是否需要辅助分页的按钮 */
isNeedHelper?: boolean;
/** 前面的按钮数量 */
prevBtnCount?: number;
/** 后面的按钮数量 */
lastBtnCount?: number;
}
interface DefaultProps {
infoMapper: {};
isNeedHelper: boolean;
displayTotal: boolean;
prevBtnCount: number;
lastBtnCount: number;
}
export default class Pagination extends UkeComponent<PaginationProps> {
static defaultProps: DefaultProps;
node: any;
dropdownPosition: any;
getSelectorOptions: () => {};
componentDidMount(): void;
componentDidUpdate(): void;
paginInfoTranslate(nextPaginInfo?: PaginInfo): {
[x: string]: number | boolean;
pIdx?: undefined;
pSize?: undefined;
total?: undefined;
active?: undefined;
} | {
pIdx: number;
pSize: number;
total: number;
active: boolean;
};
changePagin(nextIdx: number, nextSize?: any): void;
render(): JSX.Element;
}
export {};