Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in / Register
Toggle navigation
Menu
Open sidebar
陈曦
sub2api
Commits
9c448f89
Unverified
Commit
9c448f89
authored
Apr 30, 2026
by
Wesley Liddick
Committed by
GitHub
Apr 30, 2026
Browse files
Merge pull request #2118 from DaydreamCoding/fix/restore-pagination-localStorage
fix: 恢复表格分页大小 localStorage 持久化
parents
73b87299
f084d30d
Changes
3
Hide whitespace changes
Inline
Side-by-side
frontend/src/components/common/Pagination.vue
View file @
9c448f89
...
...
@@ -123,6 +123,7 @@ import { useI18n } from 'vue-i18n'
import
Icon
from
'
@/components/icons/Icon.vue
'
import
Select
from
'
./Select.vue
'
import
{
getConfiguredTablePageSizeOptions
,
normalizeTablePageSize
}
from
'
@/utils/tablePreferences
'
import
{
setPersistedPageSize
}
from
'
@/composables/usePersistedPageSize
'
const
{
t
}
=
useI18n
()
...
...
@@ -224,6 +225,7 @@ const goToPage = (newPage: number) => {
const
handlePageSizeChange
=
(
value
:
string
|
number
|
boolean
|
null
)
=>
{
if
(
value
===
null
||
typeof
value
===
'
boolean
'
)
return
const
newPageSize
=
normalizeTablePageSize
(
typeof
value
===
'
string
'
?
parseInt
(
value
,
10
)
:
value
)
setPersistedPageSize
(
newPageSize
)
emit
(
'
update:pageSize
'
,
newPageSize
)
}
...
...
frontend/src/composables/usePersistedPageSize.ts
View file @
9c448f89
import
{
getConfiguredTableDefaultPageSize
,
normalizeTablePageSize
}
from
'
@/utils/tablePreferences
'
/**
* 读取当前系统配置的表格默认每页条数。
* 不再使用本地持久化缓存,所有页面统一以通用表格设置为准。
*/
const
STORAGE_KEY
=
'
table-page-size
'
export
function
getPersistedPageSize
(
fallback
=
getConfiguredTableDefaultPageSize
()):
number
{
if
(
typeof
window
!==
'
undefined
'
)
{
try
{
const
stored
=
window
.
localStorage
.
getItem
(
STORAGE_KEY
)
if
(
stored
!==
null
)
{
const
parsed
=
Number
(
stored
)
if
(
Number
.
isFinite
(
parsed
))
{
return
normalizeTablePageSize
(
parsed
)
}
}
}
catch
(
error
)
{
console
.
warn
(
'
Failed to read persisted page size:
'
,
error
)
}
}
return
normalizeTablePageSize
(
getConfiguredTableDefaultPageSize
()
||
fallback
)
}
export
function
setPersistedPageSize
(
size
:
number
):
void
{
if
(
typeof
window
===
'
undefined
'
)
return
try
{
window
.
localStorage
.
setItem
(
STORAGE_KEY
,
String
(
size
))
}
catch
(
error
)
{
console
.
warn
(
'
Failed to persist page size:
'
,
error
)
}
}
frontend/src/composables/useTableLoader.ts
View file @
9c448f89
import
{
ref
,
reactive
,
onUnmounted
,
toRaw
}
from
'
vue
'
import
{
useDebounceFn
}
from
'
@vueuse/core
'
import
type
{
BasePaginationResponse
,
FetchOptions
}
from
'
@/types
'
import
{
getPersistedPageSize
}
from
'
./usePersistedPageSize
'
import
{
getPersistedPageSize
,
setPersistedPageSize
}
from
'
./usePersistedPageSize
'
interface
PaginationState
{
page
:
number
...
...
@@ -88,6 +88,7 @@ export function useTableLoader<T, P extends Record<string, any>>(options: TableL
const
handlePageSizeChange
=
(
size
:
number
)
=>
{
pagination
.
page_size
=
size
pagination
.
page
=
1
setPersistedPageSize
(
size
)
load
()
}
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment