From 1c22b65361d81ef23bd76d0f76a3dce7ef72fd99 Mon Sep 17 00:00:00 2001
From: haoxuan <haoxuan>
Date: 星期二, 31 十月 2023 10:06:56 +0800
Subject: [PATCH] 拉代码

---
 src/views/dashboard/components/TaskTabs.vue |   25 ++++++++++++++++---------
 1 files changed, 16 insertions(+), 9 deletions(-)

diff --git a/src/views/dashboard/components/TaskTabs.vue b/src/views/dashboard/components/TaskTabs.vue
index d2e3311..4eaf64f 100644
--- a/src/views/dashboard/components/TaskTabs.vue
+++ b/src/views/dashboard/components/TaskTabs.vue
@@ -1,32 +1,39 @@
 <template>
   <div class="task-tabs">
     <div
-      v-for="tabName in list"
-      :key="tabName"
+      v-for="tab in list"
+      :key="tab.value"
       class="task-tab-item triangle-tip"
-      :class="{ active: props.modelValue === tabName }"
-      @click="selectTab(tabName)"
+      :class="{ active: props.modelValue === tab.value }"
+      @click="selectTab(tab)"
     >
-      {{ tabName }}
+      {{ tab.label }}
     </div>
   </div>
 </template>
 <script setup lang="ts">
 import { useVModel } from '@vueuse/core'
 
+export interface LabelValue {
+  label: string
+  value: any
+}
+
 const props = defineProps<{
   /** tab 鍒楄〃*/
-  list: string[]
+  list: LabelValue[]
   /** 褰撳墠閫変腑鐨� tab*/
-  modelValue?: string
+  modelValue?: any
 }>()
 const emit = defineEmits<{
   'update:modelValue': [tabName: string]
+  change: [tab: LabelValue]
 }>()
 const data = useVModel(props, 'modelValue', emit)
 
-function selectTab(tabName: string) {
-  data.value = tabName
+function selectTab(tab: LabelValue) {
+  data.value = tab.value
+  emit('change', tab)
 }
 </script>
 <style scoped lang="scss">

--
Gitblit v1.8.0