HTML5 禁用日期的日期选择器在 Angular 中不起作用

HTML5 Datepicker with disabled dates not working in Angular

我想在日期选择器 (HTML5) 中禁用过去的日期。当我在没有任何条件的情况下(自发地)使用日期选择器时,禁用的日期正在工作。

如果我使用带条件的日期选择器,它将无法工作。我使用 jQuery 将今天的日期附加到日期元素的 "min" 属性(使用 jQuery 和 Angular 是不好的做法)。因为我找不到如何使用表单控件打字稿 access/append 日期元素的属性。 (例如:formname.get('formcontrolName')...)

我希望日期选择器应该在条件下工作。

Source code

您可以将日期选择器的 min 属性绑定到组件的 属性。这是工作示例的相关部分(请注意,必须将值分配给构造函数中给定的 属性,因为 ngAfterViewInit 生命周期挂钩被调用到后期):

HTML

<input type="date" class="form-control" [min]="today" id="applyDate1" formControlName="applyDate1"/> 

TypeScript

export class AppComponent implements AfterViewInit {

  public personalForm: FormGroup;
  public today;

  constructor(private fb: FormBuilder) {
    const currentDate:Date = new Date();
    let dd:any = currentDate.getDate();
    let mm:any = currentDate.getMonth()+1;
    let yyyy:any = currentDate.getFullYear();

    if(dd<10) {
        dd = '0'+dd
    } 

    if(mm<10) {
        mm = '0'+mm
    } 

    this.today = yyyy + '-' + mm + '-' + dd;

    ...
  }

 ...

}