From 3ab7822ec72b9079c3edf5ff1bb28fd55b586387 Mon Sep 17 00:00:00 2001 From: Maxime GRANDCOLAS Date: Fri, 11 Oct 2024 16:38:04 +0200 Subject: [PATCH] Updated mscheckbox init --- lib/components/ms-checkbox/MsCheckbox.vue | 23 +++++++++++++++-------- 1 file changed, 15 insertions(+), 8 deletions(-) diff --git a/lib/components/ms-checkbox/MsCheckbox.vue b/lib/components/ms-checkbox/MsCheckbox.vue index 6f6b713..dbdea64 100644 --- a/lib/components/ms-checkbox/MsCheckbox.vue +++ b/lib/components/ms-checkbox/MsCheckbox.vue @@ -16,11 +16,18 @@ import { IonCheckbox } from '@ionic/vue'; import { ref, watch, onUnmounted } from 'vue'; -const props = defineProps<{ - modelValue?: boolean; - checked?: boolean; - indeterminate?: boolean; -}>(); +const props = withDefaults( + defineProps<{ + modelValue?: boolean; + checked?: boolean; + indeterminate?: boolean; + }>(), + { + modelValue: undefined, + checked: undefined, + indeterminate: undefined, + }, +); const emits = defineEmits<{ (e: 'change', value: boolean): void; @@ -29,19 +36,19 @@ const emits = defineEmits<{ const watchModelCancel = watch( () => props.modelValue, - (newValue: boolean) => { + (newValue?: boolean) => { value.value = newValue; }, ); const watchCheckedCancel = watch( () => props.checked, - (newValue: boolean) => { + (newValue?: boolean) => { value.value = newValue; }, ); -const value = ref(props.modelValue); +const value = ref(props.modelValue !== undefined ? props.modelValue : props.checked); onUnmounted(() => { watchModelCancel();