Я быстро сделал небольшой Stackblitz , который показывает рабочее решение:
Возможные форматы даты, которые вы можете найти здесь:
https://github.com/telerik/kendo-intl#date-formatting
А вот документация плахолдера:
https://www.telerik.com/kendo-angular-ui/components/dateinputs/datepicker/placeholders/
Редактировать:
Два решения: Первое - скрыть только год можно, манипулируяпосле того, как календарь сделал. Второе - вы можете полностью скрыть строку, добавив следующий код к компоненту:
encapsulation: ViewEncapsulation.None,
styles: ['.k-calendar tbody th { display: none; }'],
Для ViewEncapsulation должно быть установлено значение None, поскольку в противном случае стили не будут действовать. Стиль будет действовать только внутри компонента. Если вы хотите использовать это глобально, просто добавьте стиль в глобальный файл styles.css.
См. Оба решения в Stackblitz
Окончательное решение, которое работает:
openDatepicker(e: any) {
// timeout for waiting until rendering is done
setTimeout(() => {
const headers = document.querySelectorAll('.k-calendar tbody th');
headers.forEach(el => {
el.innerHTML = el.innerHTML.split(' ')[0];
});
}, 0);
}
<kendo-datepicker
format="MMMM"
[formatPlaceholder]="{ month: 'mm', day: 'dd' }"
(open)="openDatepicker($event)"
>
<ng-template kendoCalendarHeaderTitleTemplate let-title>
{{title | slice : 0 : -4}}
</ng-template>
<ng-template kendoCalendarNavigationItemTemplate let-title let-date="date" let-view="activeView">
{{view === 'month' && date.getMonth() === 0 ? 'Jan' : title}}
</ng-template>
</kendo-datepicker>