Angular ngbDatePicker - что-то делать, когда пользователь выбирает дату из календаря - PullRequest
0 голосов
/ 27 мая 2020

Цель : я хотел бы сбросить цвет текста в matinput на черный, когда пользователь выбирает (любую) дату из КАЛЕНДАРЯ ngbDatePicker. Я установил, чтобы текст стал красным, если они вводят дату в будущем. Я хочу, чтобы go снова становился черным, если они выбирают дату в пользовательском интерфейсе календаря

Проблема : Я не могу определить, когда пользователь выбирает дату из календаря. Мне не нужно знать, какую дату они выбрали, только то, что они выбрали ЧТО-ТО.

ngbDatePicker

Что я пробовал : Следующее в 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;
}

1 Ответ

0 голосов
/ 28 мая 2020

Я нашел, это было (dateSelect) =

(dateSelect) = "onDateSelected ()"

...