From 0dd271bf094325282e8b27c6cff04bdfcefde261 Mon Sep 17 00:00:00 2001 From: Nicola Krumschmidt Date: Thu, 14 Jan 2021 15:51:19 +0100 Subject: [PATCH] Fix clear value for fields with default when creating an item --- app/src/components/v-form/form-field.vue | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/app/src/components/v-form/form-field.vue b/app/src/components/v-form/form-field.vue index 5431230027..50a4cfbc47 100644 --- a/app/src/components/v-form/form-field.vue +++ b/app/src/components/v-form/form-field.vue @@ -118,10 +118,17 @@ export default defineComponent({ return false; }); + const defaultValue = computed(() => { + const value = props.field.schema?.default_value; + + if (value !== undefined) return value; + return null; + }); + const _value = computed(() => { if (props.value !== undefined) return props.value; if (props.initialValue !== undefined) return props.initialValue; - return props.field.schema?.default_value; + return defaultValue.value; }); const { showRaw, rawValue } = useRaw(); @@ -129,7 +136,10 @@ export default defineComponent({ return { isDisabled, marked, _value, emitValue, showRaw, rawValue }; function emitValue(value: any) { - if (isEqual(value, props.initialValue) || (value === null && props.initialValue === undefined)) { + if ( + isEqual(value, props.initialValue) || + (props.initialValue === undefined && isEqual(value, defaultValue.value)) + ) { emit('unset', props.field); } else { emit('input', value);