fix datetime display issues (again) (#324)

This commit is contained in:
Hayden 2023-02-27 19:52:56 -09:00 committed by GitHub
parent 025521431e
commit cf536393f5
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
8 changed files with 46 additions and 14 deletions

View file

@ -35,18 +35,38 @@
const selected = computed({
get() {
// return modelValue as string as YYYY-MM-DD or null
if (validDate(props.modelValue)) {
if (typeof props.modelValue === "string") {
return props.modelValue;
// String
if (typeof props.modelValue === "string") {
// Empty string
if (props.modelValue === "") {
return null;
}
return props.modelValue ? props.modelValue.toISOString().split("T")[0] : null;
// Invalid Date string
if (props.modelValue === "Invalid Date") {
return null;
}
// Valid Date string
return props.modelValue;
}
// Date
if (props.modelValue instanceof Date) {
if (isNaN(props.modelValue.getTime())) {
return null;
}
// Valid Date
return props.modelValue.toISOString().split("T")[0];
}
return null;
},
set(value: string | null) {
// emit update:modelValue with a Date object or null
console.log("SET", value);
emit("update:modelValue", value ? new Date(value) : null);
},
});