问题描述
表单中使用nz时间选择器:
<nz-date-picker (ngModelChange)="onChange($event)" >
</nz-date-picker>
需要将表单中的日期进行格式化后传回后端
component.ts中:
onChange(result: Date): void {
console.log('onChange: ', result);
if (result) {
//更改表单数据
this.validateForm.patchValue({ useDate: this.datePipe.transform(result, 'yyyy-MM-dd') });
console.log(this.validateForm.value);
}
}
出现的情况
如果不更改表单数据只控制台输出result就不会出现这样的情况
为什么会出现这样的情况呢?
有没有更好的方式处理日期的格式?
你patch value 之后表单内容被改变,又会触发onChange函数,你的问题在于在网页里修改了表单内容后,相应的用来储存表单的变量就已经改变了,不需要再用patchvalue去修改form的内容。