Angular FormArray 的用法

Angular FormArray 的用法

要注意的几点:

  1. FormArray 需要在FormGroup 内部.
    this.groupForm = this.fb.group({
      Arr: this.fb.array([]) // formarray
    });
  1. 定义一个formgroup, 存放你需要做循环的form. 也便于后面的添加删除表单序列.
// formarray表单
    this.groupForm = this.fb.group({
      Arr: this.fb.array([this.createForm()]) // formarray
    });
private createForm() {
  return  this.fb.group({
          control1:  ['', Validators.required],
          control2:  ['', Validators.required],
	          Name:  ['', Validators.required],
	          Code:  ['', Validators.required],
		     Level:  ['', Validators.required],
	        Remark:  [''],
        });
}
  1. 添加和移除表单
// 增加表单
  newForm() {
    const arr = this.groupForm.get('Arr') as FormArray;
    arr.push(this.createForm()); // 推送form新表单
  }

// 移除表单
  removeForm(i: number) {
    const arr = this.groupForm.get('Arr') as FormArray;
    arr.removeAt(i); // 根据索引移除对应的表单
  }
  1. 前台展示方法.
<form [formGroup]="groupForm" id="detail" class="am-g">

    <div formArrayName="Arr">
        <div *ngFor="let form of ArrForm; let i=index;">
        <ng-container [formGroupName] = "i">
        <input type="text" formControlName="Name">
        ...............
        </ng-container>
        <!-- 增加移除表单 -->
		<button (click)="newForm()">增加表单</button>
		<button (click)="removeForm(i)">增加表单</button>
    </div>
    
    

formArray 给特定数组参数赋值:
this.ArrForm.at(i).patchValue({‘HospitalId’: value});

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值