- 我的程序执行逻辑是这样的:
- 在程序开启时初始化日期变量,然后赋值给表单中的属性,然后使用 console.log()打印表单数据
- 打印出的表单数据中是有日期的,但是前端 HTML 中没有显示日期
-
我通过下面的方式在初始化表单时候给日期赋值
this.mainForm = this.fb.group({ id:[null], codeid: [null], billdate: [billdate, [Validators.required]], deliverytime:[deliverytime,[Validators.required]], });
- 看看在 console 中截图的效果
- 看到表单明明赋值成功了,为什么前端没有显示呢?
我也遇到这问题了,追踪老半天发现问题。
看下面AbstractPickerComponent中代码片段,惊不惊喜,意不意外?
意味着ngOnInit执行之前的赋值全部都是无效的!
在ngOnInit之前,FormControl设置的初始值在FormGroupDirective、FormControlName某个处理阶段就已经执行了ControlValueAccessor.writeValue