在获取索引的同时迭代 FormArray
Iterate FormArray whilst getting index
我找不到在 FormArray for 循环中检索索引的方法
for (let formElementRegistry of this.formElementRegistry().controls) {
const formElementConfigurationGroup = formElementRegistry.get('formElementConfiguration') as FormGroup;
const formElementId = formElementRegistry.get('formElement')?.get('id')?.value;
const newFormElementRegistry = new FormGroup({
formElement: new FormControl(formElementId),
formElementConfiguration: formElementConfigurationGroup
})
this.formElementRegistry().removeAt(0);
this.formElementRegistry().push(newFormElementRegistry);
}
formElementRegistry
的循环中似乎没有任何可用的东西可以给我索引访问权限
我可以启动一个手动计数器,let i = 0;
(例如)并在每个循环中递增,但似乎已经有一些东西可供我使用
我预计:
for (let [index, formElementRegistry] of this.formElementRegistry().controls) {
或for (let {index, formElementRegistry} of this.formElementRegistry().controls) {
可能有用,但如果我尝试这样做,我会遇到错误
For..of 循环不提供索引。如果你需要索引,最好使用简单的 for
循环:
for (let i = 0; i < this.formElementRegistry().controls.length; i++) {
const formElementRegistry = this.formElementRegistry().controls[i];
...
}
我找不到在 FormArray for 循环中检索索引的方法
for (let formElementRegistry of this.formElementRegistry().controls) {
const formElementConfigurationGroup = formElementRegistry.get('formElementConfiguration') as FormGroup;
const formElementId = formElementRegistry.get('formElement')?.get('id')?.value;
const newFormElementRegistry = new FormGroup({
formElement: new FormControl(formElementId),
formElementConfiguration: formElementConfigurationGroup
})
this.formElementRegistry().removeAt(0);
this.formElementRegistry().push(newFormElementRegistry);
}
formElementRegistry
的循环中似乎没有任何可用的东西可以给我索引访问权限
我可以启动一个手动计数器,let i = 0;
(例如)并在每个循环中递增,但似乎已经有一些东西可供我使用
我预计:
for (let [index, formElementRegistry] of this.formElementRegistry().controls) {
或for (let {index, formElementRegistry} of this.formElementRegistry().controls) {
可能有用,但如果我尝试这样做,我会遇到错误
For..of 循环不提供索引。如果你需要索引,最好使用简单的 for
循环:
for (let i = 0; i < this.formElementRegistry().controls.length; i++) {
const formElementRegistry = this.formElementRegistry().controls[i];
...
}