From 17fbb0946b4dc41107fbdd324d8b370e845899ae Mon Sep 17 00:00:00 2001 From: Timi Date: Fri, 14 Aug 2026 16:01:05 +0800 Subject: [PATCH] update option style --- src/components/EventSelector.vue | 154 +++++++++++++++++++------------ 1 file changed, 94 insertions(+), 60 deletions(-) diff --git a/src/components/EventSelector.vue b/src/components/EventSelector.vue index 11b1637..efed359 100644 --- a/src/components/EventSelector.vue +++ b/src/components/EventSelector.vue @@ -1,21 +1,28 @@ @@ -29,13 +36,29 @@ interface Props { disabled?: boolean; } -withDefaults(defineProps(), { +const props = withDefaults(defineProps(), { label: "登记事件", requiredMark: false, disabled: false }); const modelValue = defineModel({ required: true }); +const defaultColor = "#2f88ff"; + +const isSelected = (eventId?: string) => Boolean(eventId && modelValue.value.includes(eventId)); + +const toggleEvent = (eventId?: string) => { + if (props.disabled || !eventId) { + return; + } + + if (isSelected(eventId)) { + modelValue.value = modelValue.value.filter(id => id !== eventId); + return; + } + + modelValue.value = [...modelValue.value, eventId]; +}; -