在 Mat-Autocomplete formArray

问题描述

我有一个 formArray,它是一个列表,您可以在其中添加、编辑和删除。一切正常,但我想为前两个项目设置初始值。它适用于输入值,但我的 mat-autocomplete 没有正确填充。这是stackblitz

.TS 文件

  initItems() {
    var formArray = this.fb.array([]);

    for (let i = 0; i < 2; i++) {
      formArray.push(
        this.fb.group({
          unititem: ['syed',[Validators.required]],age: ['14',[Validators.required]]
        })
      );
    }
    return formArray;
  }
 

解决方法

您需要使用对象选项初始化 unititem,例如:

for (let i = 0; i < 2; i++) {
  formArray.push(
    this.fb.group({
      unititem: [this.options[0],[Validators.required]],age: ['14',[Validators.required]]
    })
  );
}

根据评论更新:

您可以在您的对象数组中找到名称

for (let i = 0; i < 2; i++) {
  formArray.push(
    this.fb.group({
      this.options.find(({ itemName }) => itemName === 'syed'),[Validators.required]]
    })
  );
}