angular / angular/components

bug(mat-date-picker): month shown twice in date picker

未关闭 适合新手
#33,763 0 条评论 2 个 reaction 已指派 0 人 在 GitHub 查看
area: material/datepicker gemini-triaged P4
主要语言
TypeScript
星标
25k
派生
6.8k
平均合并
1 天 8 小时
30 天内合并 PR
91

描述

### Is this a regression?

- [ ] Yes, this behavior used to work in the previous version

### The previous version in which this bug was not present was

_No response_

### Description

The month appears twice in the date picker, once in the month-year element at the top
> #mat-datepicker-0 > mat-calendar-header > div > div > button.mdc-button.mat-mdc-button-base.mat-calendar-period-button.mat-mdc-button.mat-unthemed > span.mdc-button__label > span

>> SEP 2026

and then again in the body of the calendar below the days of week headers
> #mat-datepicker-0 > div > mat-month-view > table > tbody > tr:nth-child(1) > td.mat-calendar-body-label

>> SEP

----

Some of this code is from:
https://github.com/angular/components/blob/a69732f546a5f1f43faeb0039fa08e4f7a1150f0/src/material/datepicker/calendar.ts#L162-L164
The other side is really old:
https://github.com/angular/components/blob/3b31d7b88998d3c26530436e72e1b57283e1cbde/src/lib/datepicker/calendar.ts#L91-L93

### Reproduction

Steps to reproduce:
1. Visit https://material.angular.dev/components/datepicker/overview
2. Click the 📆 button next to `Choose a date` in the `Basic datepicker` box
3. See the current month and current year at the top left
4. See the current month again two lines below

### Expected Behavior

Don't show the current month again below the days of the week when in day picker mode and the month is shown at the top.

### Actual Behavior

The month is shown twice.

Image

### Environment

- Angular: 21.2.9
- CDK/Material: 21.2.9
- Browser(s): chrome
- Operating System (e.g. Windows, macOS, Ubuntu): macOS

贡献指南

打开贡献指南

调研方向

先在 Basic datepicker example 中复现该问题,然后阅读 src/material/datepicker/calendar.ts 中日历标题和报告所引用的月份视图标签附近的代码。确认重复的月份出现在 day-picker mode 中,并验证下方的月份标签不存在,而 month-year control 仍然可见。

由索引模型根据 Issue 内容生成。

评估

技术栈
angular, typescript
领域
frontend
Issue 类型
缺陷
难度
2/5
预计耗时
1-3 小时
活跃度
活跃
描述清晰度
基本清楚
新手友好度
72/100

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。