diff --git a/CHANGELOG.en-US.md b/CHANGELOG.en-US.md index f67b6c48486..60ac152ac31 100644 --- a/CHANGELOG.en-US.md +++ b/CHANGELOG.en-US.md @@ -7,6 +7,7 @@ - Fix seemly dependency version range allows incompatible versions. - Fix `n-progress` style is incorrect after using the dashboard mode exceeding 100%, closes [#6627](https://github.com/tusen-ai/naive-ui/issues/6627) - Fix `n-modal`'s outside content can't be interacted with `show-mask` is set to `false`. +- Fix `n-date-picker` month panel handles quarter quick jump and disabled state incorrectly. ### Feats diff --git a/CHANGELOG.zh-CN.md b/CHANGELOG.zh-CN.md index 2d9976d2a57..dae9964115a 100644 --- a/CHANGELOG.zh-CN.md +++ b/CHANGELOG.zh-CN.md @@ -7,6 +7,7 @@ - 修复 seemly 依赖的版本未更新到最新 - 修复 `n-progress` 使用仪表盘模式超过 100% 之后样式不正确,关闭 [#6627](https://github.com/tusen-ai/naive-ui/issues/6627) - 修复 `n-modal` 在 `show-mask` 为 `false` 的情况下,外部内容不能被操作 +- 修复 `n-date-picker` 月份面板在季度快速跳转和禁用状态下的处理不正确 ### Feats diff --git a/src/date-picker/src/panel/month.tsx b/src/date-picker/src/panel/month.tsx index 3f906ad6a81..af01dfc37bc 100644 --- a/src/date-picker/src/panel/month.tsx +++ b/src/date-picker/src/panel/month.tsx @@ -147,65 +147,133 @@ export default defineComponent({ onKeydown={this.handlePanelKeyDown} >
- - {{ - default: () => ( - + + {{ + default: () => [ + (type === 'month' + ? this.monthArray + : this.quarterArray + ).map((item, i) => + renderItem(item, i, mergedClsPrefix) + ), +
+ ] + }} + +
+ ) : null, + {{ - default: ({ - item, - index - }: { - item: YearItem - index: number - }) => { - return renderItem(item, index, mergedClsPrefix) - } + default: () => ( + + {{ + default: ({ + item, + index + }: { + item: YearItem + index: number + }) => { + return renderItem(item, index, mergedClsPrefix) + } + }} + + ) }} -
- ) - }} -
- {type === 'month' || type === 'quarter' ? ( -
- - {{ - default: () => [ - (type === 'month' - ? this.monthArray - : this.quarterArray - ).map((item, i) => renderItem(item, i, mergedClsPrefix)), -
- ] - }} - -
- ) : null} +
+ ] + : [ + + {{ + default: () => ( + + {{ + default: ({ + item, + index + }: { + item: YearItem + index: number + }) => { + return renderItem(item, index, mergedClsPrefix) + } + }} + + ) + }} + , + type === 'month' || type === 'quarter' ? ( +
+ + {{ + default: () => [ + (type === 'month' + ? this.monthArray + : this.quarterArray + ).map((item, i) => + renderItem(item, i, mergedClsPrefix) + ), +
+ ] + }} + +
+ ) : null + ]}
{resolveWrappedSlot(this.datePickerSlots.footer, (children) => { return children ? (