角度材料Datepicker在变化时获得价值

时间:2017-10-26 19:27:24

标签: angular datepicker angular-material

我正在使用角度和角度材质的新版本。我需要在用户更改日期时获取datepicker的值,然后将该值传递给函数并执行某些操作。

日期选择器

  <mat-form-field>
    <input matInput [matDatepicker]="picker" placeholder="Choose a date" [(ngModel)]="roomsFilter.date">
    <mat-datepicker-toggle matSuffix [for]="picker"></mat-datepicker-toggle>
    <mat-datepicker #picker [(ngModel)]="roomsFilter.date" ngDefaultControl (selectedChanged)="onChange($event)"></mat-datepicker>
  </mat-form-field>

这个功能。

  public onChange(event: any, newDate: any): void {
    console.log(event.target.value);
    // this.getData(newDate);
  }

3 个答案:

答案 0 :(得分:10)

<mat-form-field>
  <input matInput [matDatepicker]="expiration1" placeholder="Expiration" [formControl]="expiration" required (dateChange)="EndDateChange($event)">
  <mat-datepicker-toggle matSuffix [for]="expiration1"></mat-datepicker-toggle>
  <mat-datepicker #expiration1></mat-datepicker>
</mat-form-field>

请查看此演示链接,以便您了解更多信息。 Example

答案 1 :(得分:7)

抱歉,我之前没有发布答案,但我用@ AJT_82的评论解决了这个问题。这是代码。

组件HTML

  <mat-form-field>
    <input matInput [matDatepicker]="picker" placeholder="Choose a date" [(ngModel)]="roomsFilter.date">
    <mat-datepicker-toggle matSuffix [for]="picker"></mat-datepicker-toggle>
    <mat-datepicker #picker [(ngModel)]="roomsFilter.date" ngDefaultControl (selectedChanged)="onDate($event)"></mat-datepicker>
  </mat-form-field>

compoment ts

  public onDate(event): void {
    this.roomsFilter.date = event;
    this.getData(this.roomsFilter.date);
  }

基本上我刚刚超过$event的{​​{1}}来获取价值。

答案 2 :(得分:0)

根据官方文档,MatDatepickerInput具有一个 dateInput EventEmitter并发出选定的日期。

<mat-form-field>
 <input (dateInput)="OnDateChange($event.value)"                                                                                                                               matInput                                                                  [matDatepicker]="picker"                                                                   [placeholder]="field.label" />
<mat-datepicker-toggle matSuffix [for]="picker">
</mat-datepicker-toggle>
<mat-datepicker #picker></mat-datepicker>
</mat-form-field>