gpt4 book ai didi

angular - 将 FormArray 设置为 FormGroups 数组

转载 作者:行者123 更新时间:2023-12-02 04:22:41 26 4
gpt4 key购买 nike

如何设置 FormGroup 的 FormArray?我想设置表单的 definitionProperties (FormArray)。

this.processorForm = this.fb.group({
propertiesSide: new FormControl(),
objectNamesSide: new FormControl(),
definitionProperties: this.fb.array([])
});

FormGroups 的 FormArray:

let propertyControls: FormGroup[] = [];
propertyControls = getFormGroups(); // set definitionProperties to this

我发现了一些代码可以一个一个地添加,但如果可能的话,我想用一个数组而不是一个值来设置:

(this.gridProcessorForm.get('definitionProperties') as FormArray).push(group)

getFormGroups() 函数构建一个组数组:

createPropertyFormGroup(definitionProperty: ObjectDefinitionProperty) {
let formGroup = this.fb.group({
propertyName: definitionProperty.name,
propertyType: definitionProperty.type.name,
gridOffset: 1
});
return formGroup;
}

FormArray 的设置在一个可观察对象中:

this.gridProcessorForm.valueChanges.subscribe(...)

最佳答案

尝试这个进行初始设置

this.processorForm = this.fb.group({
propertiesSide: new FormControl(),
objectNamesSide: new FormControl(),
definitionProperties: this.fb.array([
this.fb.group({
propertyName: definitionProperty.name,
propertyType: definitionProperty.type.name,
gridOffset: 1
})
})])
});

使用它来添加更多:

 var _definitionProperties= <FormArray>this.processorForm .controls.definitionProperties;
_definitionProperties.push({
this.fb.group({
propertyName: 'Name',
propertyType: 'Type',
gridOffset: 1
})
})

有关更多信息,请阅读: https://medium.com/@m.kunwa52/reactive-form-in-angular-with-formarray-2595e5ee1d31

关于angular - 将 FormArray 设置为 FormGroups 数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58468793/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com