This commit is contained in:
seb
2026-10-14 00:22:04 +02:00
parent c7b6af0b43
commit b96eb762ae

View File

@@ -139,7 +139,18 @@ class FillSpace extends Component {
} else {
this.maxSeenCount = Math.max(this.maxSeenCount || 0, total);
}
// Clamp current page when the item list shrinks (e.g. brand deleted).
if (this.props.resetKey !== undefined && this.props.resetKey !== prevProps.resetKey) {
if (this.state.currentPage !== 1) {
this._goToPage(1);
} else {
this.props.onPageChange?.(1, {
pageCount: Math.max(1, Math.ceil(total / Math.max(1, this.state.pageSize))),
pageSize: this.state.pageSize,
total,
});
}
}
// Clamp current page when the item list shrinks (e.g. brand deleted) or trigger load for current page if items are missing.
if (
Array.isArray(this.props.items) &&
this.props.items !== prevProps.items
@@ -155,6 +166,15 @@ class FillSpace extends Component {
pageSize: this.state.pageSize,
total,
});
} else if (this.state.currentPage > 1) {
const offset = (this.state.currentPage - 1) * this.state.pageSize;
if (this.props.items.length > offset && this.props.items[offset] == null) {
this.props.onPageChange?.(this.state.currentPage, {
pageCount,
pageSize: this.state.pageSize,
total,
});
}
}
}
}
@@ -411,6 +431,7 @@ class FillSpace extends Component {
totalCount,
unfilteredCount,
unfilteredTotal: propUnfilteredTotal,
resetKey,
listRef,
onPageChange,
onWheel,