嗨,我正在创建两个下拉列表用于显示月份,另一个用于显示日期。当用户选择月份时,日期下拉列表会根据哪个月更改为30或31。我使用自定义过滤器管道应用于日下拉选项实现此目的。但是,当用户选择月份时,初始日期下拉选项为空。我在下面给出了我的代码
月DropDown:
<option *range="['month']; let num">{{num}}</option>
注意:
* range是我自己的显示月选项指令,如* ngFor
显示为
<option>Jan</option>
<option>Feb</option> .........
Day DropDown:
<select formControlName="day" >
<option>Select Day</option>
<option *ngFor="let number of calendar | dayFilter:register.controls['dob'].controls['month'].value" >{{number.day}}</option>
</select>
&#13;
DayFilter:
当用户选择月份时,我的自定义过滤器用于日期过滤:
import { Pipe, PipeTransform } from '@angular/core';
@Pipe({
name : 'dayFilter'
})
export class DayFilterPipe implements PipeTransform {
transform(value:any, filter: any): any{
var result;
if(filter === 'April' || filter === 'june' || filter === 'september' || filter === 'november' ){
for(const item of value)
{
result = value.filter(items=> items['day']< 31);
}
return result;
}
return value;
}
}
&#13;
问题是:
当页面加载时,它可以正常工作,默认下拉选择选项是选择日。