Я хотел использовать календарь Primeng с селектором месяца и года. Я копирую и вставляю пример кода с их сайта, но не вижу селектора года. Мои зависимости:
"примейконы": "^1.0.0", "примэн": "^6.1.2",
<p-calendar view = "month" dateFormat = "mm/yy"
[yearNavigator] = "true" yearRange = "2000:2030">
</p-calendar>
Я вижу только месяцы.
есть идеи?
этот код именно так, как они используют его в своем примере, который отображает месяцы и селектор года. поэтому я не уверен, что это проблема... Primefaces.org/primeng/#/календарь
да, я нашел, попробуйте поставить ngModel что-то вроде this.value = new Date();
и протестировать <p-calendar [(ngModel)] = "value" view = "month" dateFormat = "mm/yy" [yearNavigator] = "true" yearRange = "2000:2030"></p-calendar>
вы правы, похоже, проблема в ngmodel. не придал этому большого значения, так как я даю диапазон лет вручную
я не думал, что, проверил пример. поэтому я публикую это как ответ.
попробуйте дать ему ngModel, тогда он будет отображаться правильно: тс:
public value;
constructor() {
this.value = new Date();
}
HTML:
<p-calendar [(ngModel)] = "value" view = "month" dateFormat = "mm/yy" [yearNavigator] = "true" yearRange = "2000:2030"></p-calendar>
ДЕМО.
Как насчет использования его в форме с formControleName?
Если вы используете этот компонент в форме, то установка yearRange, похоже, тоже работает без установки текущего значения даты.
Конечно, его можно использовать в реактивной форме и formControl в качестве модели, и нет необходимости использовать ngModel, yearRange не связан со значением.
Вопрос не в том, можем ли мы использовать календарь в форме или нет. Вопрос в том, как отобразить раскрывающийся список Year, поскольку он не работает, если вы не добавляете атрибут yearRange. Проблема решена благодаря вашему ответу! Спасибо
вы выбрали представление месяца, поэтому не можете видеть годНавигатор.