我正在使用角度和角度材质的新版本。我需要在用户更改日期时获取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);
}
答案 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>