diff --git a/src/PickerPanel.tsx b/src/PickerPanel.tsx index a1551aee1..55fde1585 100644 --- a/src/PickerPanel.tsx +++ b/src/PickerPanel.tsx @@ -347,7 +347,7 @@ function PickerPanel(props: PickerPanelProps) { onViewDateChange: setViewDate, sourceMode, onPanelChange: onInternalPanelChange, - disabledDate: picker === mergedMode ? disabledDate : undefined, + disabledDate: mergedMode !== 'decade' ? disabledDate : undefined, }; delete pickerProps.onChange; delete pickerProps.onSelect; diff --git a/tests/panel.spec.tsx b/tests/panel.spec.tsx index 0cb5c245a..013909be4 100644 --- a/tests/panel.spec.tsx +++ b/tests/panel.spec.tsx @@ -315,25 +315,6 @@ describe('Picker.Panel', () => { expect(onPanelChange).toHaveBeenCalled(); }); - // decade is not a picker, but we still test here in case will support - it('picker', () => { - const onPanelChange = jest.fn(); - const wrapper = mount( - date.year() === 1900} - />, - ); - - wrapper.selectCell('1900-1909'); - expect(onPanelChange).not.toHaveBeenCalled(); - - wrapper.selectCell('1910-1919'); - expect(onPanelChange).toHaveBeenCalled(); - }); - it('not trigger when same panel', () => { const onPanelChange = jest.fn(); const wrapper = mount(); diff --git a/tests/range.spec.tsx b/tests/range.spec.tsx index 2048113d8..d09f9ff60 100644 --- a/tests/range.spec.tsx +++ b/tests/range.spec.tsx @@ -1744,4 +1744,18 @@ describe('Picker.Range', () => { .simulate('click'); expect(wrapper.find('.rc-picker-year-btn').text()).toEqual('1990'); }); + + // https://github.com/ant-design/ant-design/issues/26390 + it('month panel should be disabled', () => { + const wrapper = mount(); + wrapper.openPicker(); + wrapper.selectCell(15); + + wrapper + .find('.rc-picker-month-btn') + .first() + .simulate('click'); + expect(wrapper.findCell('Jan').hasClass('rc-picker-cell-disabled')).toBeTruthy(); + expect(wrapper.findCell('Dec').hasClass('rc-picker-cell-disabled')).toBeFalsy(); + }); });