diff --git a/magic-boot-ui/src/components/magic/form/mb-switch.vue b/magic-boot-ui/src/components/magic/form/mb-switch.vue index df1a7ab..8d28b10 100644 --- a/magic-boot-ui/src/components/magic/form/mb-switch.vue +++ b/magic-boot-ui/src/components/magic/form/mb-switch.vue @@ -1,8 +1,8 @@ @@ -17,10 +17,39 @@ const props = defineProps({ inactiveValue: Boolean | String | Number, props: Object }) +const _activeValue = ref(true) +const _inactiveValue = ref(false) + +function setActive(value){ + if(typeof(value) == 'boolean'){ + if(props.activeValue == undefined && props.inactiveValue == undefined){ + _activeValue.value = true + _inactiveValue.value = false + }else{ + _activeValue.value = props.activeValue + _inactiveValue.value = props.inactiveValue + } + }else{ + if(value || value == 0){ + if(props.activeValue == undefined && props.inactiveValue == undefined){ + _activeValue.value = '1' + _inactiveValue.value = '0' + }else{ + _activeValue.value = props.activeValue + '' + _inactiveValue.value = props.inactiveValue + '' + } + }else{ + _activeValue.value = true + _inactiveValue.value = false + } + } +} dynamicSetValue(props.modelValue) +setActive(props.modelValue) watch(() => props.modelValue, (value) => { dynamicSetValue(value) + setActive(value) }) function dynamicSetValue(value){ if(typeof(value) == 'boolean'){ @@ -28,6 +57,8 @@ function dynamicSetValue(value){ }else{ if(value || value == 0){ selectValue.value = value + '' + }else{ + selectValue.value = false } } }