【发布时间】:2017-07-06 13:07:02
【问题描述】:
一旦像这样加载组件后,我会尝试将值修补到初始化的 FormGroup 中(其中 editForm 是 FormGroup,editInfo 是包含我想要修补到表单中的信息的 JSON):
Object.keys(this.editForm.controls).forEach(key => {
if ((key.includes("date") || key.includes("Date")) && this.editInfo[key] != undefined) {
this.editForm.patchValue({
key: {
date: {
year: this.editInfo[key].getFullYear(),
month: this.editInfo[key].getMonth() + 1,
day: this.editInfo[key].getDate()
}
}
});
}
});
出于某种原因,这不是修补任何值。 if 语句在它应该运行的时候运行,并且所有 .getFullYear()、.getMonth() 和 .getDate() 值(所有这些键值都是 Date 对象)都已定义且正确。当我更换
this.editForm.patchValue({
key: {
date: {
与
this.editForm.patchValue({
'specificKey': {
date: {
该密钥已正确修补。有什么理由不指定密钥会导致它不起作用? This 是我用于日期选择器的模块(我试图在上面修补的值),如果有任何用处的话。
【问题讨论】:
-
希望你能从中得到答案
标签: javascript forms angular typescript