我正在构建这样的表单数组:
buildAnimations(arr) {
var resultArr = [];
arr.forEach(x => {
resultArr.push(this.fBuilder.group({
name: [x.name, [Validators.required]],
frameRate: [x.frameRate, [Validators.required]],
loop: [x.loop],
pickUpItemDelay: [x.pickUpItemDelay, x.type == 0 ? Validators.required : undefined],
required: [x.required],
type: [{ value: x.type, disabled: x.required == true ? true : false }, [Validators.required]],
filesUploaded: [x.filesUploaded, Validators.requiredTrue]
}))
});
return this.fBuilder.array(resultArr);
}
但是保存时,我不记得"type"
的真实值,因为它已被禁用。我知道如果我像这样遍历每个单独的记录,就可以记住该值:this.myForm.controls['type'].disable({onlySelf: true});
,但是在构造和循环遍历数组时,有没有办法做到这一点?
我正在追寻类似的东西:type: [{ value: x.type, disabled: x.required == true ? true : false, onlySelf: true }, [Validators.required]],