diff --git a/src/lib/elements/forms/inputDateTime.svelte b/src/lib/elements/forms/inputDateTime.svelte index 6548e2f5eb..5eb8da64d8 100644 --- a/src/lib/elements/forms/inputDateTime.svelte +++ b/src/lib/elements/forms/inputDateTime.svelte @@ -7,7 +7,7 @@ export let showLabel = true; export let optionalText: string | undefined = undefined; export let id: string; - export let value = ''; + export let value: string; export let required = false; export let nullable = false; export let disabled = false; @@ -35,6 +35,11 @@ error = element.validationMessage; } + function handleInput(event: Event) { + const { value: currentValue } = event.currentTarget as HTMLInputElement; + value = currentValue || null; + } + let prevValue = ''; function handleNullChange(e: CustomEvent) { const isNull = e.detail; @@ -64,12 +69,13 @@ {disabled} {readonly} {required} + {value} step=".001" autocomplete={autocomplete ? 'on' : 'off'} type="datetime-local" class="input-text" - bind:value bind:this={element} + on:input={handleInput} on:invalid={handleInvalid} style:--amount-of-buttons={isNullable ? 2.75 : 1} style:--button-size={isNullable ? '2rem' : '1rem'} />