From 88e2a978082a328c58395d9cfce56abd3d22d955 Mon Sep 17 00:00:00 2001 From: Seven Date: Mon, 22 Dec 2025 03:26:05 +0700 Subject: [PATCH] =?UTF-8?q?feat:=20=E5=A2=9E=E5=8A=A0=E5=8A=A0=E8=BD=BD?= =?UTF-8?q?=E7=8A=B6=E6=80=81=E7=AE=A1=E7=90=86=EF=BC=8C=E4=BC=98=E5=8C=96?= =?UTF-8?q?=E6=95=B0=E6=8D=AE=E5=8A=A0=E8=BD=BD=E4=BD=93=E9=AA=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components/table/table-base.vue | 23 ++++++++++++++++------- 1 file changed, 16 insertions(+), 7 deletions(-) diff --git a/src/components/table/table-base.vue b/src/components/table/table-base.vue index 76c8552..4a5987a 100644 --- a/src/components/table/table-base.vue +++ b/src/components/table/table-base.vue @@ -15,6 +15,7 @@ import type { TableColumnCheck } from '~/packages/hooks/src'; const route = useRoute(); const { t } = useI18n(); +const loading = ref(false); const title = t(route.meta.i18nKey as string); const props = withDefaults( defineProps<{ @@ -44,15 +45,22 @@ const pagination = ref({ }); async function loadData(query?: Record) { + loading.value = true; const page = pagination.value.page || 1; const pageSize = pagination.value.pageSize || 10; - const { data } = await props.fetchData({ - pagination: { - pageIndex: page, - pageSize - }, - filter: query - }); + const { data } = await props + .fetchData({ + pagination: { + pageIndex: page, + pageSize + }, + filter: query + }) + .finally(() => { + setTimeout(() => { + loading.value = false; + }, 300); + }); tableData.value = (data.value as any).data; pagination.value.itemCount = (data.value as any).pagination.total; @@ -109,6 +117,7 @@ defineExpose({