2017-07-14 93 views
2

我正在使用角度和角度材料的日期选择器。一切工作都很好,但是我添加了一个(change)事件,该事件仅在用户手动键入日期时才起作用。当用户从日期选择器弹出的日期点击时,它不会被触发。要明确的是,当用户点击日期时,date的值实际上会发生变化,它只是(change)事件,并且最终由于某种原因我的updateCalcs()函数不会被触发。如何在用户点击日期选择器中的日期时触发事件?角度材料日期选择器:选择日期时更改事件不会触发

<md-input-container> 
    <input mdInput [mdDatepicker]="datePicker" placeholder="Choose Date" name="date" [(ngModel)]="date" (change)="updateCalcs()" required> 
    <button mdSuffix [mdDatepickerToggle]="datePicker"></button> 
</md-input-container> 
<md-datepicker #datePicker></md-datepicker> 

回答

1

使用selectedChanged里面的md-datepicker

<md-datepicker #datePicker (selectedChanged)="updateCalcs($event)"></md-datepicker>

$event会发出你可以在你的updateCalcs()功能使用新的价值。

updateCalcs(event){ 
    console.log(event); 
} 

Similar demo

+1

你的意思是说MD-日期选择器代替MD-自动完成?无论哪种方式,我都会帮你改变。 – Brett

0

更换(变化)与(ngModelChange)

变化从

<input mdInput [mdDatepicker]="datePicker" placeholder="Choose Date" name="date" [(ngModel)]="date" (change)="updateCalcs()" required> 

<input mdInput [mdDatepicker]="datePicker" placeholder="Choose Date" name="date" [(ngModel)]="date" (ngModelChange)="updateCalcs()" required> 
相关问题