代码之家  ›  专栏  ›  技术社区  ›  progman

具有禁用日期的HTML5日期选择器不能以角度方式工作

  •  0
  • progman  · 技术社区  · 6 年前

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

    如果我在条件下使用日期选择器,它将不起作用。我使用jQuery将today日期附加到date元素的“min”属性中(将jQuery与Angular一起使用是不好的做法)。因为我找不到如何使用表单控件typescript访问/附加date元素的属性。(例如:formname.get('formcontrolName')…)

    我希望日期选取器应该与条件一起工作。

    Source code

    enter image description here

    1 回复  |  直到 6 年前
        1
  •  0
  •   Mateusz Witkowski    6 年前

    您可以绑定datepicker的 min 属性设置为组件的属性。下面是工作示例的相关部分(请注意,必须将值分配给构造函数中的给定属性,因为 ngAfterViewInit 生命周期挂钩被调用为延迟):

    HTML

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

    类型脚本

    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;
    
        ...
      }
    
     ...
    
    }