UNPKG

tdesign-react

Version:
170 lines (169 loc) 4.02 kB
/** * 该文件为脚本自动生成文件,请勿随意修改。如需修改请联系 PMC * */ import { SelectProps } from '../select'; import { TNode, SizeEnum } from '../common'; import { MouseEvent } from 'react'; export interface TdPaginationProps { /** * 当前页 * @default 1 */ current?: number; /** * 当前页,非受控属性 * @default 1 */ defaultCurrent?: number; /** * 是否禁用分页组件 */ disabled?: boolean; /** * 折叠时最多显示页码按钮数 * @default 5 */ foldedMaxPageBtn?: number; /** * 最多显示页码按钮数 * @default 10 */ maxPageBtn?: number; /** * 页码数量超出时,前后省略模式, `mid`表示中间省略, `both-ends` 表示两端省略 * @default mid */ pageEllipsisMode?: 'mid' | 'both-ends'; /** * 每一页的数据量 * @default 10 */ pageSize?: number; /** * 每一页的数据量,非受控属性 * @default 10 */ defaultPageSize?: number; /** * 分页大小控制器,值为 [] 则不显示 * @default [5, 10, 20, 50] */ pageSizeOptions?: Array<number | { label: string; value: number; }>; /** * 透传全部属性到 Select 组件,也可使用 `selectProps.popupProps` 透传全部 Popup 组件 */ selectProps?: SelectProps; /** * 是否显示跳转首页尾页页码控制器 * @default false */ showFirstAndLastPageBtn?: boolean; /** * 是否显示跳转页码控制器 * @default false */ showJumper?: boolean; /** * 是否显示页码控制器 * @default true */ showPageNumber?: boolean; /** * 是否显示分页数量控制器 * @default true */ showPageSize?: boolean; /** * 是否显示跳转前后页页码控制器 * @default true */ showPreviousAndNextBtn?: boolean; /** * 分页组件尺寸 * @default medium */ size?: 'small' | 'medium'; /** * 分页组件风格 * @default default */ theme?: 'default' | 'simple'; /** * 数据总条数 * @default 0 */ total?: number; /** * 用于自定义总条数呈现内容。默认显示总条数,值为 false 则不显示 * @default true */ totalContent?: TNode; /** * 当前页或分页大小发生变化时触发 */ onChange?: (pageInfo: PageInfo) => void; /** * 当前页发生变化时触发 */ onCurrentChange?: (current: number, pageInfo: PageInfo) => void; /** * 分页大小发生变化时触发 */ onPageSizeChange?: (pageSize: number, pageInfo: PageInfo) => void; } export interface TdPaginationMiniProps { /** * 按钮禁用配置 */ disabled?: boolean | JumperDisabledConfig; /** * 按钮方向 * @default horizontal */ layout?: 'horizontal' | 'vertical'; /** * 是否展示当前按钮 * @default true */ showCurrent?: boolean; /** * 按钮尺寸 * @default medium */ size?: SizeEnum; /** * 提示文案配置,值为 `true` 显示默认文案;值为 `false` 不显示提示文案;值类型为对象则单独配置文案内容 */ tips?: boolean | JumperTipsConfig; /** * 按钮形式 * @default text */ variant?: 'text' | 'outline'; /** * 按钮点击事件回调 */ onChange?: (context: { e: MouseEvent<HTMLElement>; trigger: JumperTrigger; }) => void; } export interface PageInfo { current: number; previous: number; pageSize: number; } export type JumperDisabledConfig = { prev?: boolean; current?: boolean; next?: boolean; }; export type JumperTipsConfig = { prev?: string; current?: string; next?: string; }; export type JumperTrigger = 'prev' | 'current' | 'next';