From ad6e55ed2435a978b9378231e466a6d7f5987c6e Mon Sep 17 00:00:00 2001 From: kur0nek-o Date: Fri, 23 Feb 2024 14:29:48 +0700 Subject: [PATCH] Add watch for props.selected in Select.vue --- src/components/Select.vue | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) diff --git a/src/components/Select.vue b/src/components/Select.vue index bec93bd..4c5b34e 100755 --- a/src/components/Select.vue +++ b/src/components/Select.vue @@ -4,7 +4,7 @@ interface DataItem { name: any } -import { ref, computed } from 'vue' +import { ref, computed, watch } from 'vue' import { RichSelect } from '@flavorly/vanilla-components' const props = defineProps({ @@ -21,10 +21,25 @@ const props = defineProps({ default: () => ({ id: 0, name: '' }) } }) -const emit = defineEmits(['update:selected']) +const emit = defineEmits(['update:selected']) const data = computed(() => [{ id: 0, name: props.placeholder }, ...props.data]) const selected = ref(data.value[0].id) + +computed(() => { + if (props.selected.id === 0) { + selected.value = 0 + } +}) + +watch( + () => props.selected, + (value: any) => { + if (value.id === 0) { + selected.value = 0 + } + } +)