угловые 2/5 получают значение динамической формы - PullRequest
0 голосов
/ 06 июня 2018

я пытаюсь получить значение формы, которая содержит динамическое число ресурсов, которые поступают из базы данных для каждого ресурса, я хочу повлиять на значение 3 параметров C, I и A, но группа форм всегда возвращает значениепоследний ресурс

желаемый объект возврата, например:

dataToSubmit = {

recource1: {c: 1, i: 2, a: 3,},

recource2: {c: 0, i: 2, a: 1,},

recource3: {c: 3, i: 0, a: 1,}

}

это HTML-код, который я пробовал

<mat-vertical-stepper *ngIf=" anything == true" [linear]="isLinear" #stepper>
    <form [formGroup]="cia" name="ciaform">
        <mat-step  *ngFor="let resource of resourcesarray" >
            <ng-template matStepLabel>{{ resource }}</ng-template>


            <h2>c</h2>
            <mat-select  formControlName="c" placeholder="score" >
                <mat-option [value]="0">
              0 (not classified)
            </mat-option>
                <mat-option [value]="1">
              1
            </mat-option>
                <mat-option [value]="2">
              2
            </mat-option>
                <mat-option [value]="3">
              3
            </mat-option>
            </mat-select>


            <h2>I</h2>
            <mat-select formControlName="i" placeholder="score" >
                <mat-option [value]="0">
                  0 (not classified)
                </mat-option>
                <mat-option [value]="1">
                  1
                </mat-option>
                <mat-option [value]="2">
                  2
                </mat-option>
                <mat-option [value]="3">
                  3
                </mat-option>
            </mat-select>


            <h2>A</h2>
            <mat-select formControlName="a" placeholder="score" >
                <mat-option [value]="0">
                      0 (not classified)
                    </mat-option>
                <mat-option [value]="1">
                      1
                    </mat-option>
                <mat-option [value]="2">
                      2
                    </mat-option>
                <mat-option [value]="3">
                      3
                    </mat-option>
            </mat-select>
            <button *ngIf="resourcesarray.indexOf(resource) !=0" mat-button matStepperPrevious>Back</button>
            <button mat-button matStepperNext >Next</button>
        </form>
    </mat-step>
    <mat-step>
        <ng-template matStepLabel>Done</ng-template>
        You are now done.

        <div>
            <button mat-button matStepperPrevious>Back</button>
            <button mat-button (click)="stepper.reset()">Reset</button>
            <button mat-button (click)="onSubmit()">Submit</button>
        </div>
    </mat-step>
</mat-vertical-stepper>

в настоящее время возвращаемое значение переменной cia: {c: 1, i: 2, a: 3}

1 Ответ

0 голосов
/ 06 июня 2018

Похоже, вам нужно иметь уникальное имя для ваших атрибутов formControlName, поэтому вместо "c", например, если у объекта ресурса есть свойство name, вы можете иметь [formControlName] = "resource.name".

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...