fix: 修复清空最后一页数据后列表空白,分页条消失的问题

This commit is contained in:
2025-03-25 19:57:06 +08:00
parent 55e36d3459
commit 4a3b5f7eda
2 changed files with 10 additions and 3 deletions

View File

@@ -65,14 +65,21 @@ export function useTable<T extends U, U = T>(api: Api<T>, options?: Options<T, U
// 删除
const handleDelete = async <T>(
deleteApi: () => Promise<ApiRes<T>>,
options?: { title?: string, content?: string, successTip?: string, showModal?: boolean },
options?: { title?: string, content?: string, successTip?: string, showModal?: boolean, multiple?: boolean },
): Promise<boolean | undefined> => {
const onDelete = async () => {
try {
const res = await deleteApi()
if (res.success) {
// 计算新总页数
const deleteNum = options?.multiple ? selectedKeys.value.length : 1
const totalPage = Math.ceil((pagination.total - deleteNum) / pagination.pageSize)
// 修正当前页码
if (pagination.current > totalPage) {
pagination.current = totalPage > 0 ? totalPage : 1
}
options?.multiple && (selectedKeys.value = [])
Message.success(options?.successTip || '删除成功')
selectedKeys.value = []
await getTableData()
}
return res.success

View File

@@ -114,7 +114,7 @@ const onDelete = () => {
if (!selectedKeys.value.length) {
return Message.warning('请选择数据')
}
return handleDelete(() => deleteMessage(selectedKeys.value), { showModal: false })
return handleDelete(() => deleteMessage(selectedKeys.value), { showModal: false, multiple: true })
}
// 标记为已读