Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/463.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何使用formarray of formgroups进行角网格中的材质选择_Javascript_Angular_Typescript_Angular Reactive Forms_Formarray - Fatal编程技术网

Javascript 如何使用formarray of formgroups进行角网格中的材质选择

Javascript 如何使用formarray of formgroups进行角网格中的材质选择,javascript,angular,typescript,angular-reactive-forms,formarray,Javascript,Angular,Typescript,Angular Reactive Forms,Formarray,我正在制作一件作品,我需要一个材料选择框,可以选择多个值。选择框中的值来自具有对象数组的API。我的要求是,当用户在选择框中选择任何值时,创建formgroups的formarray 例如: 选择框具有类别列表。类别列表基本上是类别对象的列表。选择任何类别值时,我希望表单创建类别对象的formarray .html: <div formArrayName="category"> <div *ngFor="let x of myForm.get(

我正在制作一件作品,我需要一个材料选择框,可以选择多个值。选择框中的值来自具有对象数组的API。我的要求是,当用户在选择框中选择任何值时,创建formgroups的formarray

例如:

选择框具有类别列表。类别列表基本上是类别对象的列表。选择任何类别值时,我希望表单创建类别对象的formarray

.html:

<div formArrayName="category">
  <div *ngFor="let x of myForm.get('category')['controls'];let i = index">
    <div [formGroupName]="i">
      <mat-form-field appearance="outline">
        <mat-label>Category</mat-label>
        <mat-select [formControlName]="name" multiple>
          <mat-option [value]="category.name"
          *ngFor="let category of categories">
          {{category.name}}
          </mat-option>
        </mat-select>
        <!--
          <mat-error *ngIf="myForm.controls.category.touched && myForm.controls.category.invalid">
                  <span *ngIf="myForm.controls.category.errors.required">Please select category</span>
          </mat-error>-->
      </mat-form-field>
    </div>
  </div>
</div>
  category:this.fb.array([this.fb.group({
        "name":['']
      })]),
当我选择任何值时,我得到的输出如下

category: Array(1) 0: name: Array(2) 0: "Finance & Economics" 1: "Data Science" 类别:阵列(1) 0: 名称:数组(2) 0:“金融与经济” 1.“数据科学” 我想要这样的输出:

category: Array(1) 0: name: Array(2) 0: "Finance & Economics" 1: name: Array(2) 0: "Data Science" 类别:阵列(1) 0: 名称:数组(2) 0:“金融与经济” 1: 名称:数组(2) 0:“数据科学” 有人能帮我修一下吗?

是的

<div *ngFor="let x of myForm.get('category').controls;let i = index">
get categoriesArray()
{
    return this.myForm.get('category') as FormArray
}
//And use

<div *ngFor="let x of categoriesArray.controls;let i = index">
<mat-select formControlName="name" multiple>