首页 > 解决方案 > 无法将数据推送到 FormArray 中的 mat-table 并且该表单处于循环中所以我有多个表单每个表单都有一个 mat-table

问题描述

当我试图推送数据以形成它不更新到该表单数组时,它总是以第一个表单数组更新,

export class Sample {

  assetsAndGiftsForm: FormGroup;
  constructor(private _fb: FormBuilder) {
    
  }
  public initAssetsForm() {
    this.assetsAndGiftsForm = this._fb.group({
      borrowers: this._fb.array([this.sample()]),
    })
  }
 
  

  public sample() {
    let reo:ReoDto[]=[]
    return this._fb.group({
      assets: this._fb.array([]),
      gifts: this._fb.array([]),
      reo: [[]]
    })
  }
}

模板

 <table mat-table #matTable [dataSource]="this.assetsAndGiftsForm.value.borrowers[borrowerIndex].reo">

将数据添加到表单后,我尝试将数据推送到 Mat-table 但仅在第一个表中更新

     @ViewChild(MatTable) matTable: MatTable<any>;
  onSaveReo() {
    let control = this.getBorrowerControl.at(this.curreentBorrowerIndex.value).get('reo') as FormArray;
    control.value.push(this.reoForm.value);
    
    this.matTable.dataSource = this.getBorrowerControl.at(this.curreentBorrowerIndex.value).get('reo').value;
    // @error :: after adding new 'reo' into  any one of borrowers, its pushing to  only first table  ,
    //datasurce is not varying 
    this.assetsAndGiftsForm.updateValueAndValidity()
    this.matTable.renderRows();

    this.addPropertyPopupClose();
  }

标签: javascripthtmlangulartypescriptangular-material

解决方案


推荐阅读