0
我设置了一个相当复杂的形式,每一次我提交补丁请求重置价值为null。
在当我尝试设置默认值在它不会工作的服务加载的数据,由于数据不可马上表单控件/尚未保存到public model = Model[]
守则
getControls() {
let controlObj = {}
for (var i = 0; i <= 7; i++) {
this.field1 = "field-1-" + i
testObj[this.field1] = new FormControl({value: this.model.name}, Validators.required)
}
this.controls = testObj
return this.controls;
}
ngOnInit() {
this.myService.getData()
.subscribe(
settings => {
this.model = model;
console.log(this.model)
},
error => console.error(error)
)
console.log(this.model)
this.settingsForm = new FormGroup(
this.getControls()
)
}
}
摘要
new FormControl({value: this.model.name}
不能检索此值作为服务d oes不保存要在组件内再次使用的数据。
在运行其余函数之前,我有没有办法让保存从组件获取请求中获取的信息?
我有点困惑,为什么console.log(this.modal)
里面的服务请求返回的数据,但外面的一个返回null。
让我知道如果你需要更多的代码 - 我试图摆脱最低限度避免混淆。谢谢!
我没想到,最初,但它不工作,(想出了一个模板错误),所以不得不换我在ngIf内部形成,并在调用订阅中的this.getControls()后触发它。我不确定为什么最初尝试时它不工作,但感谢您的答案!它有效,也许我的订购是错误的。谢谢 ! – confusedandenthused