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({
{this.markList.map((item, index) => { - if (item.position === 0 || item.position === 1) return null; + if (item.position === 0 || item.position === 100) return null; return (
{this.steps.map((item: any, key) => { - if (item.position === 0 || item.position === 1) return null; + if (item.position === 0 || item.position === 100) return null; return
; })}
diff --git a/test/snap/__snapshots__/csr.test.js.snap b/test/snap/__snapshots__/csr.test.js.snap index cd7c6ab22..132854d27 100644 --- a/test/snap/__snapshots__/csr.test.js.snap +++ b/test/snap/__snapshots__/csr.test.js.snap @@ -34383,7 +34383,9 @@ exports[`csr snapshot test > csr test ./src/date-picker/_example/date-presets-al
+ > + - +
@@ -34455,7 +34457,9 @@ exports[`csr snapshot test > csr test ./src/date-picker/_example/date-presets-al
+ > + - +
@@ -34534,7 +34538,9 @@ exports[`csr snapshot test > csr test ./src/date-picker/_example/date-range.vue
+ > + - +
@@ -34604,7 +34610,9 @@ exports[`csr snapshot test > csr test ./src/date-picker/_example/date-range.vue
+ > + - +
@@ -34997,7 +35005,9 @@ exports[`csr snapshot test > csr test ./src/date-picker/_example/disable-date.vu
+ > + - +
@@ -35309,7 +35319,9 @@ exports[`csr snapshot test > csr test ./src/date-picker/_example/month.vue 1`] =
+ > + - +
@@ -38560,7 +38572,9 @@ exports[`csr snapshot test > csr test ./src/date-picker/_example/quarter.vue 1`]
+ > + - +
@@ -38681,7 +38695,9 @@ exports[`csr snapshot test > csr test ./src/date-picker/_example/week.vue 1`] =
+ > + - +
@@ -38802,7 +38818,9 @@ exports[`csr snapshot test > csr test ./src/date-picker/_example/year.vue 1`] =
+ > + - +
@@ -83865,10 +83883,6 @@ exports[`csr snapshot test > csr test ./src/slider/_example/marks.vue 1`] = ` class="t-slider__stop t-slider__mark-stop" style="left: 80%;" /> -
csr test ./src/slider/_example/marks.vue 1`] = ` class="t-slider__stop t-slider__mark-stop" style="left: 80%;" /> -
csr test ./src/slider/_example/min-and-max.vue 1`]
-
-
+ />
@@ -84154,12 +84159,7 @@ exports[`csr snapshot test > csr test ./src/slider/_example/min-and-max.vue 1`]
-
-
+ />
@@ -84428,10 +84428,6 @@ exports[`csr snapshot test > csr test ./src/slider/_example/vertical-marks.vue 1 class="t-slider__stop t-slider__mark-stop" style="top: calc(20% - 1px);" /> -
csr test ./src/slider/_example/vertical-marks.vue 1 class="t-slider__stop t-slider__mark-stop" style="top: calc(20% - 1px);" /> -
renders ./src/date-picker/_example/base.vue correct exports[`ssr snapshot test > renders ./src/date-picker/_example/custom-icon.vue correctly 1`] = `"
"`; -exports[`ssr snapshot test > renders ./src/date-picker/_example/date-presets-alt.vue correctly 1`] = `"
"`; +exports[`ssr snapshot test > renders ./src/date-picker/_example/date-presets-alt.vue correctly 1`] = `"
-
-
"`; -exports[`ssr snapshot test > renders ./src/date-picker/_example/date-range.vue correctly 1`] = `"
"`; +exports[`ssr snapshot test > renders ./src/date-picker/_example/date-range.vue correctly 1`] = `"
-
-
"`; exports[`ssr snapshot test > renders ./src/date-picker/_example/date-time.vue correctly 1`] = `"
"`; -exports[`ssr snapshot test > renders ./src/date-picker/_example/disable-date.vue correctly 1`] = `"
"`; +exports[`ssr snapshot test > renders ./src/date-picker/_example/disable-date.vue correctly 1`] = `"
-
"`; exports[`ssr snapshot test > renders ./src/date-picker/_example/first-day-of-week.vue correctly 1`] = `"
"`; -exports[`ssr snapshot test > renders ./src/date-picker/_example/month.vue correctly 1`] = `"
"`; +exports[`ssr snapshot test > renders ./src/date-picker/_example/month.vue correctly 1`] = `"
-
"`; exports[`ssr snapshot test > renders ./src/date-picker/_example/quarter.vue correctly 1`] = `"
29
30
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
1
2
3
4
5
6
7
8
9
29
30
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
1
2
3
4
5
6
7
8
9
00:00:00
31
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
1
2
3
4
5
6
7
8
9
10
11
12
13
28
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
1
2
3
4
5
6
7
8
9
10
29
30
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
1
2
3
4
5
6
7
8
9
00:00:00
"`; -exports[`ssr snapshot test > renders ./src/date-picker/_example/quarter.vue correctly 2`] = `"
"`; +exports[`ssr snapshot test > renders ./src/date-picker/_example/quarter.vue correctly 2`] = `"
-
"`; -exports[`ssr snapshot test > renders ./src/date-picker/_example/week.vue correctly 1`] = `"
"`; +exports[`ssr snapshot test > renders ./src/date-picker/_example/week.vue correctly 1`] = `"
-
"`; -exports[`ssr snapshot test > renders ./src/date-picker/_example/year.vue correctly 1`] = `"
"`; +exports[`ssr snapshot test > renders ./src/date-picker/_example/year.vue correctly 1`] = `"
-
"`; exports[`ssr snapshot test > renders ./src/dialog/_example/async.vue correctly 1`] = `"
"`; @@ -829,15 +829,15 @@ exports[`ssr snapshot test > renders ./src/slider/_example/input-number.vue corr exports[`ssr snapshot test > renders ./src/slider/_example/input-number-vertical.vue correctly 1`] = `"
"`; -exports[`ssr snapshot test > renders ./src/slider/_example/marks.vue correctly 1`] = `"
0°C
20°C
40°C
60°C
80°C
100°C
0°C
20°C
40°C
60°C
80°C
100°C
"`; +exports[`ssr snapshot test > renders ./src/slider/_example/marks.vue correctly 1`] = `"
0°C
20°C
40°C
60°C
80°C
100°C
0°C
20°C
40°C
60°C
80°C
100°C
"`; -exports[`ssr snapshot test > renders ./src/slider/_example/min-and-max.vue correctly 1`] = `"
min:10
max:30
min:10
max:30
"`; +exports[`ssr snapshot test > renders ./src/slider/_example/min-and-max.vue correctly 1`] = `"
min:10
max:30
min:10
max:30
"`; exports[`ssr snapshot test > renders ./src/slider/_example/step.vue correctly 1`] = `"
"`; exports[`ssr snapshot test > renders ./src/slider/_example/vertical.vue correctly 1`] = `"
"`; -exports[`ssr snapshot test > renders ./src/slider/_example/vertical-marks.vue correctly 1`] = `"
0°C
20°C
40°C
60°C
80°C
100°C
0°C
20°C
40°C
60°C
80°C
100°C
"`; +exports[`ssr snapshot test > renders ./src/slider/_example/vertical-marks.vue correctly 1`] = `"
0°C
20°C
40°C
60°C
80°C
100°C
0°C
20°C
40°C
60°C
80°C
100°C
"`; exports[`ssr snapshot test > renders ./src/space/_example/align.vue correctly 1`] = `"
start
center
end
baseline
"`;