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