44 <n-grid :x-gap =" 24" :cols =" 23" >
55 <n-gi :span =" 5" >
66 <n-grid :cols =" 5" >
7- <n-grid-item :span =" 1" class =" flex-center justify-start" >条件1 </n-grid-item >
7+ <n-grid-item :span =" 1" class =" flex-center justify-start" >姓名 </n-grid-item >
88 <n-grid-item :span =" 4" ><n-input v-model:value =" model.condition_1" placeholder =" Input" /></n-grid-item >
99 </n-grid >
1010 </n-gi >
1111 <n-gi :span =" 5" >
1212 <n-grid :cols =" 5" >
13- <n-grid-item :span =" 1" class =" flex-center" >条件2 </n-grid-item >
13+ <n-grid-item :span =" 1" class =" flex-center" >年龄 </n-grid-item >
1414 <n-grid-item :span =" 4" ><n-input v-model:value =" model.condition_2" placeholder =" Input" /></n-grid-item >
1515 </n-grid >
1616 </n-gi >
1717 <n-gi :span =" 5" >
1818 <n-grid :cols =" 5" >
19- <n-grid-item :span =" 1" class =" flex-center" >条件3 </n-grid-item >
19+ <n-grid-item :span =" 1" class =" flex-center" >性别 </n-grid-item >
2020 <n-grid-item :span =" 4" ><n-input v-model:value =" model.condition_3" placeholder =" Input" /></n-grid-item >
2121 </n-grid >
2222 </n-gi >
2323 <n-gi :span =" 5" >
2424 <n-grid :cols =" 5" >
25- <n-grid-item :span =" 1" class =" flex-center" >条件4 </n-grid-item >
25+ <n-grid-item :span =" 1" class =" flex-center" >地址 </n-grid-item >
2626 <n-grid-item :span =" 4" ><n-input v-model:value =" model.condition_4" placeholder =" Input" /></n-grid-item >
2727 </n-grid >
2828 </n-gi >
5656 下载
5757 </n-button >
5858 </div >
59- <n-data-table :bordered = " false " :columns = " columns " :data = " listData " />
60- <Pagination :count =" 0 " @change =" changePage" />
59+ <n-data-table :columns = " columns " :data = " listData " :loading = " loading " />
60+ <Pagination :count =" 100 " @change =" changePage" />
6161 </n-space >
6262 </n-card >
6363 </n-space >
@@ -68,7 +68,9 @@ import { onMounted, ref, h } from 'vue';
6868import { fetchUserList } from ' ~/src/service/api/mock' ;
6969import type { DataTableColumns } from ' naive-ui' ;
7070import { NButton , NPopconfirm , NSpace , NSwitch , NTag } from ' naive-ui' ;
71+ import { useLoading } from ' @/hook' ;
7172
73+ const { loading, startLoading, endLoading } = useLoading (false );
7274const model = ref ({
7375 condition_1: ' ' ,
7476 condition_2: ' ' ,
@@ -164,10 +166,15 @@ interface UserList {
164166const listData = ref <UserList []>([]);
165167
166168onMounted (() => {
167- fetchUserList ().then ((res ) => {
169+ getUserList ();
170+ });
171+ async function getUserList() {
172+ startLoading ();
173+ await fetchUserList ().then ((res ) => {
168174 listData .value = res .data ;
175+ endLoading ();
169176 });
170- });
177+ }
171178function changePage(page : number , size : number ) {
172179 window .$message .success (` 分页器:${page },${size } ` );
173180}
0 commit comments