我在项目中输入了一个日期,我想将最小/最大日期设置为当前日期。如何在Angular 6中实现这一目标?
我试图将let date = new Date();
添加到ngOnInit中,并将HTML文件中的最大值添加到{{this.date}}
中,但是它不会禁用将来的日期。
HTML
<input type="date" formControlName="dob" class="form-control" id="dob" max="{{this.date}}">
TS
ngOnInit() {
let date = new Date;
}
答案 0 :(得分:1)
继续做下去:
<input type="date" class="form-control" id="dob" max="{{date | date:'yyyy-MM-dd'}}">
您需要传递日期以遵循input
格式。
答案 1 :(得分:1)
您引用的日期变量在ngOnInit()
方法中具有本地范围。您必须在类范围内声明变量,以便可以通过this指针/关键字使用它。
具体
import {
Component,
OnInit
} from '@angular/core';
@Component({
selector: 'app-root',
template: '<input type="date" max="{{this.date}}">',
})
export class AppComponent implements OnInit {
date;
ngOnInit() {
this.date = new Date().toISOString().slice(0, 10);
}
}
目前无法测试,请根据您的情况进行测试
编辑:能够测试,以上解决方案在我的测试中有效
答案 2 :(得分:0)
尝试:
<input type="date" formControlName="dob" class="form-control" id="dob" [max]="date">
答案 3 :(得分:0)
尝试一下
<input type="date" name="bday" max="1979-12-31">