Цель : я хотел бы сбросить цвет текста в matinput на черный, когда пользователь выбирает (любую) дату из КАЛЕНДАРЯ ngbDatePicker. Я установил, чтобы текст стал красным, если они вводят дату в будущем. Я хочу, чтобы go снова становился черным, если они выбирают дату в пользовательском интерфейсе календаря
Проблема : Я не могу определить, когда пользователь выбирает дату из календаря. Мне не нужно знать, какую дату они выбрали, только то, что они выбрали ЧТО-ТО.
Что я пробовал : Следующее в html
(изменение) =
(выберите) =
- , похоже, ничего не делает
(щелкните) =
- это только регистрирует когда я нажимаю в текстовом поле matinput, а не когда я нажимаю календарь
Согласно статьям SO: Как определить выбор даты в ng- bootstrap Datepicker в поле ввода? , Как обнаружить bootstrap события изменения datetimepicker в angular2 , https://ng-bootstrap.github.io/# / components / datepicker / examples
TypeScript :
onDateSelected() {
this.dateRed = false;
console.log("dateRed value: " + this.dateRed);
}
HTML:
<div class="input-group date-field-90">
<input matInput formControlName="dateOfBirth" class="form-control" (keypress)="dateEnter($event)"
[placeholder]="dateplaceholder" [ngClass]="{'dateRed' : dateRed}" ngbDatepicker #d="ngbDatepicker" [maxDate]="currentDate" (change)="onDateSelected()" [(ngModel)]="dob1"
#dobDate required>
<mat-icon (click)="d.toggle()">event</mat-icon>
</div>
CSS:
.dateRed{
color: red;
}