Angular 2获取动态FormGroup名称

标签 angular formgroups

https://angular.io/api/forms/FormGroupName这里如何获取 FormGroupName。

如果 FormGroupName 是动态的,如何获取/修补/更新值?

    <div class="row" *ngFor="let itemrow of searchForm.controls.addresses.controls; let ind=index" [formGroupName]="ind">
   <input class="form-control" formControlName="name">
   <input class="form-control" formControlName="time">
</div>

searchForm.value 对象:

"addresses": [
    {
      "address": "",
      "name": 0,
      "time": 0,
 },
    {
      "address": "",
      "name": 0,
      "time": 0,
    }
  ]

如何更新 currentGFormGroupName 中的输入值?

最佳答案

您可以在代码中创建新的表单组

组件

export class AppComponent {
  addresses = [
    {
      address: 'aa',
      name: 'aa',
      time: 'aa'
    },
    {
      address: 'bb',
      name: 'bb',
      time: 'bb'
    }
  ];

  formGroup: FormGroup;
  constructor(private fb: FormBuilder) { }

  ngOnInit() {
    this.formGroup = new FormGroup({});
    let addressGroup = new FormGroup({});

    this.addresses.map((group, index) => {
      const name = 'group-' + index.toString();
      const formGroup = this.fb.group({
        address: [group.address],
        name: [group.name],
        time: [group.time]
      });
      addressGroup.addControl(name, formGroup);
    })

    this.formGroup.addControl('addresses', addressGroup);
  }

}

模板

<form [formGroup]="formGroup">
  <div formGroupName="addresses">
    <div *ngFor="let address of addresses; let i = index">
      <div formGroupName="{{'group-'+i}}">
        <input type="text" formControlName="address"/>
        <input type="text" formControlName="name"/>
        <input type="text" formControlName="time"/>
      </div>
    </div>
  </div>
</form>

关于Angular 2获取动态FormGroup名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47711544/

相关文章:

html - 整页 div 叠加模糊不显示

angular - react 形式 : How to add new FormGroup or FormArray into an existing FormGroup at a later point in time in Angular till v14

响应式表单中的 Angular 表单组与表单控件和表单生成器

angular - 我在网络选项卡中收到帖子响应,但在控制台中仍然显示错误

angular - 用于从 Angular 5 中的两个日期进行列表过滤的自定义管道

javascript - 具有动态字段的 Angular 响应式(Reactive)表单

angular - 在表单组 react 表单中插入值

arrays - 如何将对象插入数组?在 Angular 7

Angular Reactive Form 提交并清除验证

angular - 父级监听子事件在 Angular2 中不起作用