Программно установить текущее представление объекта mat-calendar (из mat-datepicker)? - PullRequest
0 голосов
/ 17 сентября 2018

Я пытаюсь сделать «постоянный» сборщик месяца / года с использованием углового материала2 - проблема в том, что мне не нужен традиционный сборщик дат, а только часть календаря, которая всегда будет открыта и отображать выбранный месяц У меня более или менее работающая функциональность, но проблема в том, что после того, как вы выбрали месяц, «умный» календарь автоматически меняет представление на средство выбора дня.

Текущий код:

HTML

<mat-calendar #monthPicker
              startView="year"
              (yearSelected)="yearChosen($event, date)"
              (monthSelected)="monthChosen($event, date, monthPicker)"
              [selected]="date"
></mat-calendar>

TS (соответствующие части)

yearChosen(year : Date, date : Date){
 //(date is a reference to a class-level date variable, just holds the current value)
  date.setFullYear(year.getFullYear())
}

monthChosen(month: Date, dateObj : Date, calendar : MatCalendar<Date>){
  date.setMonth(month.getMonth());
  //SOME CODE TO MAKE CALENDAR NOT PROCEED TO THE DAY VIEW???
}

Я пытался связываться с объектами объекта datepicker, но, похоже, ничто не дает никакого эффекта:

  • calendar.currentView = 'year'
  • calendar._goToDateInView (дата, 'год')
  • календарь. (YearView и monthView, различные вещи)
...