问题描述
在我的 Angular 应用程序中,我希望用户选择约会的日期和时间,我正在尝试使用
<input matInput type="datetime-local"...>
public form: FormGroup;
constructor(_formBuilder: FormBuilder) {
this.form = _formbuilder.group({
datetime: new Date()
});
}
我用这种形式包装 input
使其变成
<form [formGroup]="form">
<input matInput type="datetime-local" formControlName="datetime">
</form>
在我开始更改它之前,它一直是空白的。我假设是因为输入需要一个字符串?我宁愿给它一个日期,但甚至给它一个字符串
constructor(_formBuilder: FormBuilder) {
this.form = _formbuilder.group({
datetime: new Date().toDateString()
});
}
产生完全相同的结果。那么如何将其绑定到 Typscript Date 对象并开始以初始值显示它?
解决方法
HTML 日期时间-本地输入需要 'yyyy-MM-ddTHH:mm' 格式,但已给出日期对象。
所以你使用 Angular 日期管道作为转换它的另一种方式。
import { DatePipe } from '@angular/common';
public form: FormGroup;
constructor(
_formBuilder: FormBuilder,private datePipe: DatePipe,) {
this.form = _formbuilder.group({
datetime: this.datePipe.transform(new Date(),'yyyy-MM-ddTHH:mm')
});
}
,
此外,您可以使用 here 中描述的任何格式。