用Typescript+Angular填充日期输入



我一直试图用TypeScript填充日期输入,但没有成功:

我得到了3个日期,格式如下:dd/MM/yyyy。。。因此,我解析了每个数字,将其格式更改为yyyy-MM-dd,然后使用日期管道将其分配给每个输入的ngModel-var。我尝试过不同的格式,但似乎不起作用。

HTML:

<div>
<input type="date" ngModel="inputDate | date:'yyyy-MM-dd'"">
</div>
<div>
<input type="date" ngModel="inputDateFrom | date:'yyyy-MM-dd'"">
</div>
<div>
<input type="date" ngModel="inputDateTo | date:'yyyy-MM-dd'"">
</div>

TS:

let dateFill = data[4] + '/' + data[5] + '/' + data[6];
let parsedDate = dateFill.split("/");
this.inputDate = this.datepipe.transform(new Date(parsedDate[2] + '-' + parsedDate[1] + '-' + parsedDate[0]), 'yyyy-MM-dd');
this.inputDateFrom = this.datepipe.transform(new Date(parsedDate[5] + '-' + parsedDate[4] + '-' + parsedDate[3]), 'yyyy-MM-dd');
this.inputDateTo = this.datepipe.transform(new Date(parsedDate[8] + '-' + parsedDate[7] + '-' + parsedDate[6]), 'yyyy-MM-dd');

为了使绑定工作,您需要用[(包围ngModel,如下所示:

<input type="date" [(ngModel)]="inputDate | date:'yyyy-MM-dd'"">

有关绑定的更多信息,请参阅文档

你也不能在ngModel绑定中使用管道,所以你需要删除它:

<input type="date" [(ngModel)]="inputDate">