diff --git a/packages/components/table/PrimaryTable.tsx b/packages/components/table/PrimaryTable.tsx index d9ac9b1db9..8a60a6d182 100644 --- a/packages/components/table/PrimaryTable.tsx +++ b/packages/components/table/PrimaryTable.tsx @@ -1,26 +1,28 @@ -import React, { useRef, forwardRef, useImperativeHandle, ReactNode, RefAttributes } from 'react'; -import { get } from 'lodash-es'; +import React, { forwardRef, ReactNode, RefAttributes, useImperativeHandle, useRef } from 'react'; import classNames from 'classnames'; +import { get } from 'lodash-es'; + +import useDefaultProps from '../hooks/useDefaultProps'; import BaseTable from './BaseTable'; +import { primaryTableDefaultProps } from './defaultProps'; +import EditableCell, { type EditableCellProps } from './EditableCell'; +import useAsyncLoading from './hooks/useAsyncLoading'; +import useClassName from './hooks/useClassName'; import useColumnController from './hooks/useColumnController'; +import useDragSort from './hooks/useDragSort'; +import { useEditableRow } from './hooks/useEditableRow'; +import useFilter from './hooks/useFilter'; import useRowExpand from './hooks/useRowExpand'; -import useTableHeader, { renderTitle } from './hooks/useTableHeader'; import useRowSelect from './hooks/useRowSelect'; -import { TdPrimaryTableProps, PrimaryTableCol, TableRowData, PrimaryTableCellParams } from './type'; import useSorter from './hooks/useSorter'; -import useFilter from './hooks/useFilter'; -import useDragSort from './hooks/useDragSort'; -import useAsyncLoading from './hooks/useAsyncLoading'; -import { PageInfo, PaginationProps } from '../pagination'; -import useClassName from './hooks/useClassName'; import useStyle from './hooks/useStyle'; -import { BaseTableProps, PrimaryTableProps, PrimaryTableRef } from './interface'; -import EditableCell, { EditableCellProps } from './EditableCell'; -import { StyledProps } from '../common'; -import { useEditableRow } from './hooks/useEditableRow'; -import { primaryTableDefaultProps } from './defaultProps'; -import { CheckboxGroupValue } from '../checkbox'; -import useDefaultProps from '../hooks/useDefaultProps'; +import useTableHeader, { renderTitle } from './hooks/useTableHeader'; + +import type { CheckboxGroupValue } from '../checkbox'; +import type { StyledProps } from '../common'; +import type { PageInfo, PaginationProps } from '../pagination'; +import type { BaseTableProps, PrimaryTableProps, PrimaryTableRef } from './interface'; +import type { PrimaryTableCellParams, PrimaryTableCol, TableRowData, TdPrimaryTableProps } from './type'; export { BASE_TABLE_ALL_EVENTS } from './BaseTable'; @@ -188,7 +190,7 @@ const PrimaryTable = forwardRef((originalPr })(); const onInnerPageChange = (pageInfo: PageInfo, newData: Array) => { - innerPagination.current = { ...innerPagination, ...pageInfo }; + innerPagination.current = { ...innerPagination.current, ...pageInfo }; setCurrentPaginateData(newData); props.onPageChange?.(pageInfo, newData); const changeParams: Parameters = [ diff --git a/packages/components/table/hooks/useDragSort.ts b/packages/components/table/hooks/useDragSort.ts index 3a234a0407..f7b4f3464e 100644 --- a/packages/components/table/hooks/useDragSort.ts +++ b/packages/components/table/hooks/useDragSort.ts @@ -68,8 +68,9 @@ export default function useDragSort( // 本地分页的表格,index 不同,需加上分页计数 function getDataPageIndex(index: number, pagination: PaginationProps) { - const current = pagination.current ?? pagination.defaultCurrent; - const pageSize = pagination.pageSize ?? pagination.defaultPageSize; + if (!pagination) return index; + const current = pagination.current ?? pagination.defaultCurrent ?? 1; + const pageSize = pagination.pageSize ?? pagination.defaultPageSize ?? 10; // 开启本地分页的场景 if (!props.disableDataPage && pagination && data.length > pageSize) { return pageSize * (current - 1) + index;