/** * @file 翻页相关逻辑 */ import cns from 'classnames' import React, { useContext } from 'react' import { concat } from '../utils' import IcePagination from '../Pagination' import { DataTablePaginationOptions } from './defs' import { dataTableCtx } from './context' export function Pagination({ currentPage, pageSize = 10, total, onChange, align = 'right' }: DataTablePaginationOptions) { const { baseCls } = useContext(dataTableCtx) function handleChange(nextPage: number, nextPageSize: number) { if (nextPageSize === pageSize) { onChange?.(nextPage, nextPageSize) } else { // 如果有切换 pageSize 的行为,则重置页码 onChange?.(0, nextPageSize) } } const className = cns( concat(baseCls, 'pagination'), concat(baseCls, 'pagination', 'align', align) ) return (
) }