fix(grid): preserve page size when reloading data after save

The reload event did not carry limit/offset, so buildTableSelectSql
always fell back to its default LIMIT 100, resetting 1000-row pages
back to 100 after every commit.
This commit is contained in:
t8y2
2026-05-12 13:55:15 +08:00
parent 78184544cf
commit 9463ff07a7
5 changed files with 58 additions and 11 deletions
+7 -1
View File
@@ -101,7 +101,7 @@ const props = defineProps<{
}>();
const emit = defineEmits<{
reload: [sql?: string, searchText?: string, whereInput?: string, orderBy?: string];
reload: [sql?: string, searchText?: string, whereInput?: string, orderBy?: string, limit?: number, offset?: number];
paginate: [offset: number, limit: number, whereInput?: string, orderBy?: string];
sort: [column: string, columnIndex: number, direction: "asc" | "desc" | null, whereInput?: string];
}>();
@@ -857,6 +857,8 @@ const editor = useDataGridEditor({
rowStatusFilter,
initialEditColumn: firstVisibleColumnIndex,
getRowItem,
pageSize,
currentPage,
emit,
});
@@ -904,6 +906,8 @@ async function onToolbarRefresh() {
searchText.value,
whereFilterInput.value.trim() || undefined,
orderByInput.value.trim() || undefined,
pageSize.value,
(currentPage.value - 1) * pageSize.value,
);
}
@@ -919,6 +923,8 @@ function onToolbarRollback() {
searchText.value,
whereFilterInput.value.trim() || undefined,
orderByInput.value.trim() || undefined,
pageSize.value,
(currentPage.value - 1) * pageSize.value,
);
}
+17 -5
View File
@@ -40,7 +40,7 @@ const emit = defineEmits<{
editorSelectionChange: [value: string];
editorCursorChange: [pos: number];
formatError: [];
reload: [sql?: string, searchText?: string, whereInput?: string, orderBy?: string];
reload: [sql?: string, searchText?: string, whereInput?: string, orderBy?: string, limit?: number, offset?: number];
paginate: [offset: number, limit: number, whereInput?: string, orderBy?: string];
sort: [column: string, columnIndex: number, direction: "asc" | "desc" | null, whereInput?: string];
executeSql: [sql: string];
@@ -283,8 +283,14 @@ function onHandleCloseColumnPanel() {
:table-meta="activeTab.tableMeta"
:on-execute-sql="async (sql: string) => emit('executeSql', sql)"
@reload="
(sql?: string, searchText?: string, whereInput?: string, orderBy?: string) =>
emit('reload', sql, searchText, whereInput, orderBy)
(
sql?: string,
searchText?: string,
whereInput?: string,
orderBy?: string,
limit?: number,
offset?: number,
) => emit('reload', sql, searchText, whereInput, orderBy, limit, offset)
"
@paginate="
(offset: number, limit: number, whereInput?: string, orderBy?: string) =>
@@ -381,8 +387,14 @@ function onHandleCloseColumnPanel() {
:table-meta="activeTab.tableMeta"
:on-execute-sql="async (sql: string) => emit('executeSql', sql)"
@reload="
(sql?: string, searchText?: string, whereInput?: string, orderBy?: string) =>
emit('reload', sql, searchText, whereInput, orderBy)
(
sql?: string,
searchText?: string,
whereInput?: string,
orderBy?: string,
limit?: number,
offset?: number,
) => emit('reload', sql, searchText, whereInput, orderBy, limit, offset)
"
@paginate="
(offset: number, limit: number, whereInput?: string, orderBy?: string) =>