diff --git a/packages/amis-core/src/store/crud.ts b/packages/amis-core/src/store/crud.ts index 1f2fa5710a2..9511efcea60 100644 --- a/packages/amis-core/src/store/crud.ts +++ b/packages/amis-core/src/store/crud.ts @@ -151,6 +151,10 @@ export const CRUDStore = ServiceStore.named('CRUDStore') }; return context; + }, + + get offset() { + return (self.page - 1) * self.perPage; } })) .actions(self => { diff --git a/packages/amis/src/renderers/CRUD.tsx b/packages/amis/src/renderers/CRUD.tsx index c922941346d..8a78de90628 100644 --- a/packages/amis/src/renderers/CRUD.tsx +++ b/packages/amis/src/renderers/CRUD.tsx @@ -3100,6 +3100,7 @@ export default class CRUD extends React.Component { footerToolbarRender: this.renderFooterToolbar, data: store.mergedData, loading: store.loading, + offset: store.offset, host: this, filterItemIndex: this.filterItemIndex, onDbClick: this.props.rowDbClick, diff --git a/packages/amis/src/renderers/Table/Cell.tsx b/packages/amis/src/renderers/Table/Cell.tsx index 89ffb834182..8f66eda4249 100644 --- a/packages/amis/src/renderers/Table/Cell.tsx +++ b/packages/amis/src/renderers/Table/Cell.tsx @@ -36,6 +36,7 @@ export interface CellProps extends ThemeProps { onImageEnlarge?: any; translate: (key: string, ...args: Array) => string; testIdBuilder?: TestIdBuilder; + offset?: number; } export default function Cell({ @@ -58,7 +59,8 @@ export default function Cell({ quickEditFormRef, onImageEnlarge, translate: __, - testIdBuilder + testIdBuilder, + offset }: CellProps) { if (column.name && item.rowSpans[column.name] === 0) { return null; @@ -267,7 +269,7 @@ export default function Cell({ > {`${filterItemIndex ? filterItemIndex(item.path, item) : item.path}` .split('.') - .map(a => parseInt(a, 10) + 1) + .map(a => parseInt(a, 10) + 1 + (offset || 0)) .join('.')} ); diff --git a/packages/amis/src/renderers/Table/index.tsx b/packages/amis/src/renderers/Table/index.tsx index 0f237e112c6..a0854b73a68 100644 --- a/packages/amis/src/renderers/Table/index.tsx +++ b/packages/amis/src/renderers/Table/index.tsx @@ -2270,7 +2270,8 @@ export default class Table< itemBadge, translate, testIdBuilder, - filterItemIndex + filterItemIndex, + offset } = this.props; // 如果列数大于20,并且列不是固定列,则使用按需渲染模式 @@ -2302,6 +2303,7 @@ export default class Table< testIdBuilder={testIdBuilder?.getChild( `cell-${props.rowPath}-${column.index}` )} + offset={offset} /> ); }