在另一个formArray中迭代字符串数组的formArray可以通过以下步骤实现:
下面是一个示例代码,演示如何在另一个formArray中迭代字符串数组的formArray:
import { Component } from '@angular/core';
import { FormBuilder, FormGroup, FormArray, FormControl } from '@angular/forms';
@Component({
selector: 'app-example',
template: `
<form [formGroup]="mainForm">
<div formArrayName="stringArrays">
<div *ngFor="let array of stringArrays.controls; let i = index">
<div [formGroupName]="i">
<div formArrayName="strings">
<div *ngFor="let control of getStringsArray(i).controls; let j = index">
<input type="text" [formControlName]="j">
</div>
</div>
</div>
</div>
</div>
</form>
`
})
export class ExampleComponent {
mainForm: FormGroup;
constructor(private fb: FormBuilder) {
this.mainForm = this.fb.group({
stringArrays: this.fb.array([])
});
const stringArrays = this.mainForm.get('stringArrays') as FormArray;
// 迭代字符串数组的formArray
const stringArray = ['string1', 'string2', 'string3'];
const formArray = this.fb.array([]);
stringArray.forEach(str => {
formArray.push(new FormControl(str));
});
stringArrays.push(this.fb.group({
strings: formArray
}));
}
get stringArrays() {
return this.mainForm.get('stringArrays') as FormArray;
}
getStringsArray(index: number) {
return this.stringArrays.at(index).get('strings') as FormArray;
}
}
在上述示例中,我们创建了一个名为mainForm
的主表单,其中包含一个名为stringArrays
的formArray。我们使用*ngFor
指令遍历stringArrays
中的每个formGroup,并在每个formGroup中创建一个名为strings
的formArray。然后,我们使用*ngFor
指令遍历strings
中的每个formControl,并将其绑定到输入框上。
请注意,上述示例中使用的是Angular的表单模块,你可以根据自己的需求选择适合的表单库。此外,示例中的代码仅用于演示目的,实际应用中可能需要根据具体情况进行适当的修改和调整。
希望以上信息对你有所帮助!如果你需要更多关于云计算或其他相关主题的信息,请随时提问。
领取专属 10元无门槛券
手把手带您无忧上云