diff --git a/src/date-picker/DatePicker.tsx b/src/date-picker/DatePicker.tsx index e09be55c5..eee1e5199 100644 --- a/src/date-picker/DatePicker.tsx +++ b/src/date-picker/DatePicker.tsx @@ -1,6 +1,7 @@ import { defineComponent, watch, computed } from '@vue/composition-api'; import dayjs from 'dayjs'; import { CalendarIcon as TdCalendarIcon } from 'tdesign-icons-vue'; +import isDate from 'lodash/isDate'; import { usePrefixClass } from '../hooks/useConfig'; import { useGlobalIcon } from '../hooks/useGlobalIcon'; @@ -51,7 +52,10 @@ export default defineComponent({ const isDisabled = computed(() => formDisabled.value || props.disabled); watch(popupVisible, (visible) => { - const dateValue = value.value ? covertToDate(value.value as string, formatRef.value?.valueType) : value.value; + // Date valueType add empty string don't need to be parsed + const dateValue = value.value && !isDate(value.value) + ? covertToDate(value.value as string, formatRef.value?.valueType) + : value.value; cacheValue.value = formatDate(dateValue, { format: formatRef.value.format,