diff --git a/packages/primevue/src/datepicker/DatePicker.spec.js b/packages/primevue/src/datepicker/DatePicker.spec.js index 901546fdd..8543ccb56 100644 --- a/packages/primevue/src/datepicker/DatePicker.spec.js +++ b/packages/primevue/src/datepicker/DatePicker.spec.js @@ -54,4 +54,26 @@ describe('DatePicker.vue', () => { expect(wrapper.vm.viewDate).toEqual(dateTwo); }); + + it('should open a year view when there is selected date (fix: #6203)', async () => { + const dateOne = new Date(); + + dateOne.setFullYear(1988, 9, 10); + + await wrapper.setProps({ modelValue: dateOne }); + + const input = wrapper.find('.p-datepicker-input'); + + await input.trigger('focus'); + + const yearSelectButton = wrapper.find('.p-datepicker .p-datepicker-select-year'); + + expect(yearSelectButton.exists()).toBe(true); + expect(yearSelectButton.text()).toBe('1988'); + + await yearSelectButton.trigger('click'); + + expect(wrapper.find('.p-datepicker-decade').exists()).toBe(true); + expect(wrapper.find('.p-datepicker-decade').text()).toBe('1980 - 1989'); + }); }); diff --git a/packages/primevue/src/datepicker/DatePicker.vue b/packages/primevue/src/datepicker/DatePicker.vue index 7c4609166..b7bab901c 100755 --- a/packages/primevue/src/datepicker/DatePicker.vue +++ b/packages/primevue/src/datepicker/DatePicker.vue @@ -750,7 +750,7 @@ export default { return start === year || end === year || (start < year && end > year); } else { - return value.getFullYear() === year; + return this.modelValue.getFullYear() === year; } }, isDateEquals(value, dateMeta) {