diff --git a/frontend/src/components/input/FormField.vue b/frontend/src/components/input/FormField.vue index fb7335928..efc2e48db 100644 --- a/frontend/src/components/input/FormField.vue +++ b/frontend/src/components/input/FormField.vue @@ -33,6 +33,16 @@ const controlClasses = computed(() => [ {'is-expanded': hasAddon.value}, ]) +// Only bind value when modelValue is explicitly provided (not undefined) +// This allows the component to be used without v-model for native input behavior +const inputBindings = computed(() => { + const bindings: Record = {} + if (props.modelValue !== undefined) { + bindings.value = props.modelValue + } + return bindings +}) + // Expose input element for direct access (needed for browser autofill workarounds) const inputRef = ref(null) defineExpose({ @@ -57,8 +67,7 @@ defineExpose({