Angular ngbDatePicker-当用户从日历中选择日期时执行某些操作

时间:2020-05-27 20:56:57

标签: angular ngb-datepicker

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

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

documentation

我尝试过的事情: html中的以下内容

  • (更改)=

    • 不做任何事情
  • (选择)=

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

    • 仅当我在matinput文本框中单击时才注册,而当我单击时 点击日历

根据SO文章:ngbDatePickerHow to detect date selection in ng-bootstrap Datepicker on input field?How to detect bootstrap datetimepicker change events within angular2

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 :(得分:0)

我找到了,它是(dateSelect)=

(dateSelect)=“ onDateSelected()”