Angular的FormArray导致另一个表单中的FormControl丢失
创始人
2024-10-24 03:01:02
0

若在Angular中使用FormArray导致另一个表单中的FormControl丢失,可能是由于表单的重新渲染导致FormControl被重置。可以使用以下方法解决这个问题:

  1. 确保在重新渲染表单之前,将FormControl的值保存在变量中。
  2. 使用setValue或patchValue方法将保存的值重新设置给FormControl。

以下是一个示例代码,演示如何解决该问题:

import { Component, OnInit } from '@angular/core';
import { FormBuilder, FormGroup, FormArray } from '@angular/forms';

@Component({
  selector: 'app-example',
  template: `
    
`, styleUrls: ['./example.component.css'] }) export class ExampleComponent implements OnInit { parentForm: FormGroup; constructor(private fb: FormBuilder) { } ngOnInit() { this.parentForm = this.fb.group({ childFormArray: this.fb.array([ this.createChildForm() ]) }); } createChildForm(): FormGroup { return this.fb.group({ childControl: '' }); } saveChildFormValues() { // 保存FormControl的值 const childFormValues = this.childFormArray.controls.map(control => control.value); // 重新渲染表单 this.parentForm = this.fb.group({ childFormArray: this.fb.array([ this.createChildForm(), this.createChildForm() ]) }); // 将保存的值重新设置给FormControl childFormValues.forEach((value, index) => { this.childFormArray.controls[index].setValue(value); }); } get childFormArray(): FormArray { return this.parentForm.get('childFormArray') as FormArray; } }

在这个示例中,我们首先在ngOnInit方法中创建了一个表单控件parentForm和一个FormArray childFormArray。然后,我们在模板中使用ngFor循环遍历childFormArray,创建多个子表单。

在saveChildFormValues方法中,我们首先保存了每个FormControl的值到childFormValues数组中。然后,我们重新渲染了表单,创建了新的childFormArray。最后,我们通过forEach循环将保存的值重新设置给新的FormControl。

这样,即使表单重新渲染,FormControl的值也会被正确地保留下来。

相关内容

热门资讯

围绕透视问题!聚友联盟,兴义水... 围绕透视问题!聚友联盟,兴义水鱼天下有辅助吗,步骤教程(其实真的有挂的)-哔哩哔哩亲,关键说明,兴义...
值得注意的是!福建天天开心辅助... 值得注意的是!福建天天开心辅助真实性,决战卡五星最新辅助,步骤教程(其实确实是有挂的)-哔哩哔哩亲,...
此事备受玩家关注!皮皮胡子辅助... 此事备受玩家关注!皮皮胡子辅助,赣牌圈的隐藏机制,教程书教程(原来确实有挂)-哔哩哔哩1、赣牌圈的隐...
更值得关注的是!微乐辅助靠谱麻... 更值得关注的是!微乐辅助靠谱麻,菠萝辅助破解版,模板教程(原来真的有挂的)-哔哩哔哩1、起透看视 菠...
有玩家发现!三哥玩辅助,休闲九... 有玩家发现!三哥玩辅助,休闲九九破解版,步骤教程(一直确实有挂)-哔哩哔哩1、休闲九九破解版ai机器...
最终!财神13章辅助码大全,竹... 最终!财神13章辅助码大全,竹间智能辅助助手,资料教程(原来是有挂)-哔哩哔哩1、全新机制【财神13...
有了最新消息!边锋干瞪眼技巧,... 有了最新消息!边锋干瞪眼技巧,新518互游插件,总结教程(果然是真的有挂的)-哔哩哔哩1、进入到边锋...
据玩家消息!中至余干小程序辅助... 据玩家消息!中至余干小程序辅助安装,心悦填大坑辅助,窍门教程(一直确实是有挂的)-哔哩哔哩1、下载好...
有消息称!微信呢微乐游戏辅助脚... 有消息称!微信呢微乐游戏辅助脚本,新518互游插件,练习教程(一贯确实有挂的)-哔哩哔哩微信呢微乐游...
现有关情况通报如下!胡乐辅助脚... 现有关情况通报如下!胡乐辅助脚本是真的假的,皮皮跑子胡子修改器,策略教程(果然真的有挂的)-哔哩哔哩...