mirror of
https://github.com/solidtime-io/solidtime.git
synced 2026-08-19 05:32:16 +01:00
fix broken date parsing
This commit is contained in:
@@ -1,18 +1,18 @@
|
|||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import { computed, ref } from 'vue';
|
import { ref } from 'vue';
|
||||||
import { getLocalizedDayJs } from '@/utils/time';
|
import { getLocalizedDayJs } from '@/utils/time';
|
||||||
import dayjs from 'dayjs';
|
|
||||||
|
|
||||||
const model = defineModel<string | null>({
|
const model = defineModel<string | null>({
|
||||||
default: null,
|
default: null,
|
||||||
});
|
});
|
||||||
|
|
||||||
|
const tempDate = ref(getLocalizedDayJs(model.value).format('YYYY-MM-DD'));
|
||||||
|
|
||||||
function updateDate(event: Event) {
|
function updateDate(event: Event) {
|
||||||
const target = event.target as HTMLInputElement;
|
const target = event.target as HTMLInputElement;
|
||||||
const newValue = target.value;
|
const newValue = target.value;
|
||||||
const newDate = dayjs(newValue);
|
const newDate = getLocalizedDayJs(newValue);
|
||||||
if (newDate) {
|
if (newDate) {
|
||||||
console.log('old', model.value);
|
|
||||||
model.value = getLocalizedDayJs(model.value)
|
model.value = getLocalizedDayJs(model.value)
|
||||||
.set('year', newDate.year())
|
.set('year', newDate.year())
|
||||||
.set('day', newDate.day())
|
.set('day', newDate.day())
|
||||||
@@ -22,25 +22,25 @@ function updateDate(event: Event) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
const date = computed(() => {
|
|
||||||
return model.value
|
|
||||||
? getLocalizedDayJs(model.value).format('YYYY-MM-DD')
|
|
||||||
: null;
|
|
||||||
});
|
|
||||||
|
|
||||||
const datePicker = ref<HTMLInputElement | null>(null);
|
const datePicker = ref<HTMLInputElement | null>(null);
|
||||||
|
|
||||||
|
function updateTempValue(event: Event) {
|
||||||
|
const target = event.target as HTMLInputElement;
|
||||||
|
tempDate.value = target.value;
|
||||||
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<template>
|
<template>
|
||||||
<div class="flex items-center justify-center text-muted">
|
<div class="flex items-center justify-center text-muted">
|
||||||
<input
|
<input
|
||||||
ref="datePicker"
|
ref="datePicker"
|
||||||
@change="updateDate"
|
@change="updateTempValue"
|
||||||
|
@blur="updateDate"
|
||||||
class="bg-input-background border text-white border-input-border rounded-md"
|
class="bg-input-background border text-white border-input-border rounded-md"
|
||||||
type="date"
|
type="date"
|
||||||
id="start"
|
id="start"
|
||||||
name="trip-start"
|
name="trip-start"
|
||||||
:value="date" />
|
:value="tempDate" />
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user