Angular表单:如何动态地添加/删除子表单组件
创始人
2024-10-23 10:01:24
0

在Angular中动态地添加/删除子表单组件可以通过使用FormArray来实现。下面是一个示例:

首先,创建一个父表单组件,并在其中创建一个FormArray来存储子表单组件。在父组件的模板中,使用ngFor指令迭代FormArray中的表单控件,并显示子表单组件。

父组件的模板:

在父组件的代码中,需要创建和初始化对应的FormArray,并提供用于添加/删除子表单的方法。

父组件的代码:

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

@Component({
  selector: 'app-parent-form',
  templateUrl: './parent-form.component.html',
  styleUrls: ['./parent-form.component.css']
})
export class ParentFormComponent implements OnInit {
  parentForm: FormGroup;

  constructor(private fb: FormBuilder) { }

  ngOnInit() {
    this.parentForm = this.fb.group({
      childForms: this.fb.array([])
    });
  }

  get childControls() {
    return (this.parentForm.get('childForms') as FormArray).controls;
  }

  addChildForm() {
    const childForm = this.fb.group({
      // Add your child form fields here
    });
    (this.parentForm.get('childForms') as FormArray).push(childForm);
  }

  removeChildForm(index: number) {
    (this.parentForm.get('childForms') as FormArray).removeAt(index);
  }
}

在上面的示例中,addChildForm()方法通过向FormArray中添加一个新的FormGroup来动态添加子表单。removeChildForm()方法通过指定索引号来从FormArray中移除指定的子表单。

最后,创建一个子表单组件,该组件可以用于动态添加到父表单组件中。子表单组件的模板和代码可以根据具体需求进行自定义。

子组件的模板:

子组件的代码:

import { Component, Input } from '@angular/core';
import { FormGroup } from '@angular/forms';

@Component({
  selector: 'app-child-form',
  templateUrl: './child-form.component.html',
  styleUrls: ['./child-form.component.css']
})
export class ChildFormComponent {
  @Input() form: FormGroup;
}

以上就是使用FormArray来动态添加/删除子表单组件的示例代码。通过在父组件中迭代FormArray并使用相应的方法添加/删除子表单,可以实现动态表单的需求。

相关内容

热门资讯

9分钟指南书!九天大厅挂价格,... 9分钟指南书!九天大厅挂价格,新祥心辅助脚本(辅助)一贯真的是有辅助(哔哩哔哩)一、新祥心辅助脚本可...
第十分钟窍要!杭麻圈辅助工具,... 第十分钟窍要!杭麻圈辅助工具,天酷游戏交易平台(辅助)原来是有辅助(哔哩哔哩)1、完成天酷游戏交易平...
第六分钟举措!四川游戏家园手机... 第六分钟举措!四川游戏家园手机版辅助,三哥玩app辅助(辅助)果然有挂下载(哔哩哔哩)1、金币登录送...
第八分钟攻略!金州水鱼脚本,新... 第八分钟攻略!金州水鱼脚本,新九五有没有脚本(辅助)果然有挂软件(哔哩哔哩)1、让任何用户在无需新九...
第六分钟秘籍!天天川南辅助,超... 第六分钟秘籍!天天川南辅助,超级三加一辅助工具(辅助)果然是真的安装(哔哩哔哩)1、超级三加一辅助工...
第七分钟教程书!拼三张辅助器,... 第七分钟教程书!拼三张辅助器,海贝之城辅助软甲下载(辅助)原来真的有平台(哔哩哔哩)1、用户打开应用...
第五分钟指引!蜀渝牌乐汇挂机软... 第五分钟指引!蜀渝牌乐汇挂机软件,天酷辅助巡查系统(辅助)果然真的是有安装(哔哩哔哩)该软件可以轻松...
8分钟讲义!微友辅助器免费版v... 8分钟讲义!微友辅助器免费版v2.0,新财神正版辅助挂(辅助)真是真的是有辅助器(哔哩哔哩)1、8分...
8分钟策略!椰岛长胜辅助,随意... 8分钟策略!椰岛长胜辅助,随意玩聚乐部辅助(辅助)本来是有插件(哔哩哔哩)1、该软件可以轻松地帮助玩...
2分钟课程!陕麻圈是不是可以作... 2分钟课程!陕麻圈是不是可以作必弊,蜜蜂大厅辅助插件(辅助)一直真的是有软件(哔哩哔哩)1)陕麻圈是...