diff --git a/src/date-picker/DateRangePicker.tsx b/src/date-picker/DateRangePicker.tsx index d0bd9afcc..f146cba1e 100644 --- a/src/date-picker/DateRangePicker.tsx +++ b/src/date-picker/DateRangePicker.tsx @@ -74,19 +74,22 @@ export default defineComponent({ }).month; } else if (value.value.length === 2 && !props.enableTimePicker) { // 确保右侧面板月份比左侧大 避免两侧面板月份一致 - const nextMonth = value.value.map((v: string) => parseToDayjs(v || new Date(), formatRef.value.format).month()); + const nextMonth = value.value.map((v: string) => parseToDayjs(v, formatRef.value.format).month()); if (year.value[0] === year.value[1] && nextMonth[0] === nextMonth[1]) { nextMonth[0] === 11 ? (nextMonth[0] -= 1) : (nextMonth[1] += 1); } month.value = nextMonth; - year.value = value.value.map((v: string) => parseToDayjs(v || new Date(), formatRef.value.format).year()); + year.value = value.value.map((v: string) => parseToDayjs(v, formatRef.value.format).year()); // 月份季度选择时需要确保右侧面板年份比左侧大 if ((props.mode === 'month' || props.mode === 'quarter') && year.value[0] === year.value[1]) { year.value = [year.value[0], year.value[0] + 1]; } } else { - year.value = value.value.map((v: string) => parseToDayjs(v || new Date(), formatRef.value.format).year()); - month.value = value.value.map((v: string) => parseToDayjs(v || new Date(), formatRef.value.format).month()); + year.value = value.value.map((v: string) => parseToDayjs(v, formatRef.value.format).year()); + if (year.value.length === 1) year.value = [year.value[0], year.value[0]]; + + month.value = value.value.map((v: string) => parseToDayjs(v, formatRef.value.format).month()); + if (month.value.length === 1) month.value = [month.value[0], Math.min(month.value[0] + 1, 11)]; } } else { isHoverCell.value = false; diff --git a/src/date-picker/hooks/useRange.ts b/src/date-picker/hooks/useRange.ts index dd975a474..b46d0f42a 100644 --- a/src/date-picker/hooks/useRange.ts +++ b/src/date-picker/hooks/useRange.ts @@ -31,7 +31,7 @@ export default function useRange(props: TdDateRangePickerProps, { emit }: any) { const popupVisible = ref(false); const isHoverCell = ref(false); const activeIndex = ref(0); // 确定当前选中的输入框序号 - const inputValue = ref(formatDate(props.value, { format: formatRef.value.format })); // 未真正选中前可能不断变更输入框的内容 + const inputValue = ref(formatDate(value.value, { format: formatRef.value.format })); // 未真正选中前可能不断变更输入框的内容 // input 设置 const rangeInputProps = computed(() => ({ @@ -40,7 +40,7 @@ export default function useRange(props: TdDateRangePickerProps, { emit }: any) { clearable: props.clearable, prefixIcon: props.prefixIcon, readonly: !props.allowInput, - separator: props.separator, + separator: props.separator || global.value.rangeSeparator, placeholder: props.placeholder || global.value.placeholder[props.mode], activeIndex: popupVisible.value ? activeIndex.value : undefined, class: { diff --git a/src/slider/slider.tsx b/src/slider/slider.tsx index 01a77a0c7..f197e128b 100644 --- a/src/slider/slider.tsx +++ b/src/slider/slider.tsx @@ -348,7 +348,7 @@ export default mixins(classPrefixMixins).extend({