UNPKG

jamis

Version:

一种支持通过JSON配置方式生成页面的组件库

77 lines (76 loc) 1.94 kB
import type { LocaleProps, ThemeProps } from 'jamis-core'; export type MODE_TYPE = 'simple' | 'normal'; export type PaginationWidget = 'pager' | 'perpage' | 'total' | 'go' | 'statistics'; export interface BasicPaginationProps { /** * 通过控制layout属性的顺序,调整分页结构 total,perPage,pager,go * @default ['pager'] */ layout?: string | PaginationWidget[]; /** * 最多显示多少个分页按钮。 * * @default 5 */ maxButtons: number; /** * 模式,默认normal,如果只想简单显示可以配置成 `simple`。 * @default 'normal' */ mode?: MODE_TYPE; /** * 当前页数 */ activePage: number; /** * 总条数 */ total?: number; /** * 最后一页,总页数(如果传入了total,会重新计算lastPage) */ lastPage?: number; /** * 每页显示条数 * @default 10 */ perPage?: number; /** * 是否展示分页切换,也同时受layout控制 * @default false */ showPerPage?: boolean; /** * 指定每页可以显示多少条 * @default [5, 10, 20, 50, 100] */ perPageAvailable?: Array<number>; /** * 是否显示快速跳转输入框 * @default true */ showPageInput?: boolean; /** * 是否显示统计信息, 和在layout里配置total 或者 statistics 效果一样 */ showStatistics?: boolean; /** * 是否禁用 * @default false */ disabled?: boolean; hasNext?: boolean; /** * 弹层挂载节点 * @default false */ popOverContainerSelector?: string; onPageChange?: (page: number, perPage?: number) => void; } export interface PaginationCompProps extends BasicPaginationProps, ThemeProps, LocaleProps { popOverContainer?: any; } export interface PaginationState { pageNum: string; perPage: number; }