我正在尝试在Angular2中构建一个组合日期选取器,它将一个日期映射到三个下拉列表,一个表示日,一个代表月,另一个表示年。
为了基本理解,我正在阅读以下优秀文章:
http://almerosteyn.com/2016/04/linkup-custom-control-to-ngcontrol-ngmodel
在上面的示例中,作者将其链接到1个控件,即。
<input class="form-control" [(ngModel)]="value" (blur)="onTouched()">
在我的情况下,而不是
<input class="form-control" [(ngModel)]="value" (blur)="onTouched()">
我有:
<select [(ngModel)]="day">
<option *ngFor="let item of days" value="{{item}}">{{item}}</option>
</select>
<select [(ngModel)]="month">
<option *ngFor="let item of months" value="{{item}}">{{item}}</option>
</select>
<select [(ngModel)]="year">
<option *ngFor="let item of years" value="{{item}}">{{item}}</option>
</select>
使用本文示例中的单个控件,一切都很好,因为有两种方式与[(ngModel)]=“value”绑定,所以当文本字段值更新时,当我使用
{{ myform.controls.mydate.value }}
但我不确定如何通过三个下拉列表实现它?我的意思是,如果任何下拉列表发生更改,{{myform.controls.mydate.value}}应该显示更新的值。
我还尝试添加(ngModelChange)=“onDateChange()”,其中onDateChange函数通过根据下拉列表中的选定值组合新的日期来设置_value的值。但这不管用。
有人能给我引路吗?