Angular嵌套表单数组映射问题
创始人
2024-10-29 02:30:38
0

在Angular中,我们可以使用FormArray来处理嵌套表单数组映射问题。下面是一个解决方法的代码示例:

首先,我们需要在组件类中初始化一个FormArray,并将其作为父表单组的一部分。假设我们有一个名为userForm的父表单组,其中有一个名为addresses的FormArray:

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

@Component({
  selector: 'app-user',
  templateUrl: './user.component.html',
  styleUrls: ['./user.component.css']
})
export class UserComponent implements OnInit {
  userForm: FormGroup;

  constructor(private formBuilder: FormBuilder) { }

  ngOnInit() {
    this.userForm = this.formBuilder.group({
      addresses: this.formBuilder.array([])
    });
  }

  get addresses() {
    return this.userForm.get('addresses') as FormArray;
  }

  addAddress() {
    const addressFormGroup = this.formBuilder.group({
      street: ['', Validators.required],
      city: ['', Validators.required],
      state: ['', Validators.required]
    });

    this.addresses.push(addressFormGroup);
  }

  removeAddress(index: number) {
    this.addresses.removeAt(index);
  }
}

在上面的代码中,addAddress方法用于向地址数组中添加一个新的地址,removeAddress方法用于从地址数组中移除指定索引的地址。

接下来,我们可以在模板中使用ngFor指令来循环遍历地址数组,并创建每个地址的表单控件。我们还可以使用formGroupName指令来将每个地址的表单控件与地址数组中的索引进行绑定:

在上面的代码中,我们使用addresses.controls来获取地址数组的所有控件,并使用index来获取当前地址的索引。然后,我们将每个地址的表单控件与地址数组中的索引进行绑定。

通过以上的代码,我们就可以实现嵌套表单数组的映射。每次点击“Add Address”按钮时,将会添加一个新的地址表单控件,并且我们可以动态地添加/删除多个地址。

相关内容

热门资讯

玩家交流!aapoker辅助器... 玩家交流!aapoker辅助器怎么用(辅助挂)原来是真的有挂(有挂细节辅助器)1、玩家可以在透视最简...
盘点一款!wpk作弊(辅助挂)... 盘点一款!wpk作弊(辅助挂)好像是有挂(真实有挂辅助工具)脚本下载中分为三种模型:挂靠谱的,辅助软...
玩家必看分享!hhpoker德... 玩家必看分享!hhpoker德州真的假的(辅助挂)确实有挂(有挂工具辅助app)1、有没有辅助教程、...
9分钟了解!wepoker怎么... 9分钟了解!wepoker怎么设置盖牌(辅助挂)一直是真的有挂(讲解有挂辅助工具)1、下载好透视辅助...
热点推荐!wepoker插件功... 热点推荐!wepoker插件功能辅助器(辅助挂)确实是有挂(真的有挂辅助攻略)1)免费钻石:进一步探...
科技通报!来玩app破解(辅助... 科技通报!来玩app破解(辅助挂)真是存在有挂(有挂秘笈辅助器)1)辅助插件:进一步探索辅助大陆,与...
今日重大通报!德普之星有辅助软... 今日重大通报!德普之星有辅助软件吗(辅助挂)确实真的有挂(有挂秘籍辅助器)1、点击下载安装,脚本分类...
推荐一款!德州局透视脚本免费版... 推荐一款!德州局透视脚本免费版下载手机版(辅助挂)本来是有挂(有挂教程辅助教程)1、首先打开辅助器下...
一分钟了解!智星德州插件怎么下... 一分钟了解!智星德州插件怎么下载(辅助挂)竟然真的有挂(有挂教学辅助工具);1、金币登录送、破产送、...
重大发现!wepoker插件下... 重大发现!wepoker插件下载(辅助挂)果然存在有挂(有挂细节辅助app)能透视中分为三种模型:模...