Pārlūkot izejas kodu

优化对口升学模拟考试列表切换效果

shmily1213 1 mēnesi atpakaļ
vecāks
revīzija
d92918dc4c
1 mainītis faili ar 15 papildinājumiem un 9 dzēšanām
  1. 15 9
      src/pagesStudy/pages/index/compoentns/vhs-exam.vue

+ 15 - 9
src/pagesStudy/pages/index/compoentns/vhs-exam.vue

@@ -11,10 +11,9 @@
           </view>
         </view>
       </view>
-
       <view v-if="list.length > 0" class="px-30 pb-24 bg-back flex flex-col gap-20 sticky z-1 "
         :style="{ top: baseStickyTop + 20 + 'px' }">
-        <vhs-exam-item v-for="(item, index) in list" :key="index" :data="item" :type="current" />
+        <vhs-exam-item v-for="(item, index) in list" :key="item.id" :data="item" :type="subjectType" />
       </view>
       <view v-else class="bg-white">
         <z-paging-empty-view :empty-view-fixed="false" />
@@ -33,16 +32,23 @@ const { transferTo } = useTransferPage();
 const { baseStickyTop } = useNavbar();
 const list = ref<Study.VHSPaper[]>([]);
 const current = ref(0);
-const handleChange = (index: number) => {
+const subjectType = ref(0);
+
+const handleChange = async (index: number) => {
   current.value = index;
-  loadData();
+  await loadData();
+  subjectType.value = index;
 }
 const loadData = async () => {
-  list.value = [];
-  const { data } = await getVHSPaperList({
-    subjectId: current.value
-  });
-  list.value = data;
+  try {
+    uni.$ie.showLoading();
+    const { data } = await getVHSPaperList({
+      subjectId: current.value
+    });
+    list.value = data;
+  } catch (error) { } finally {
+    uni.$ie.hideLoading();
+  }
 }
 onShow(() => {
   loadData();