0

目标:当用户从 ngbDatePicker 日历中选择(任何)日期时,我想将 matinput 中的文本颜色重置为黑色。如果他们输入未来的日期,我将其设置为使文本变为红色。如果他们从日历 UI 中选择日期,我希望它变回黑色

问题:我似乎无法检测到用户何时从日历中选择了日期。我不需要知道他们选择的日期,只知道他们选择了一些东西。

ngb 日期选择器

我试过的:html中的以下内容

  • (变化)=

    • 什么都不做
  • (选择)=

    • 似乎什么也没做
  • (点击)=

    • 这仅在我单击 matinput 文本框时注册,而不是在我单击日历时注册

根据 SO 文章:How to detect date selection in ng-bootstrap Datepicker on input field?,如何检测 angular2 中的引导 datetimepicker 更改事件, https://ng-bootstrap.github.io/#/components/datepicker/examples

打字稿

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;
}
4

1 回答 1

0

我找到了,它是 (dateSelect)=

(dateSelect)="onDateSelected()"

于 2020-05-27T21:04:49.037 回答