Можно ли установить разные значения для одного и того же formcontrol во время цикла (* ngFor) в Angular 5 - PullRequest
0 голосов
/ 21 марта 2019

Я новичок в Angular 5. Мне нужно зациклить элемент управления формы вместе с другими полями. При зацикливании раздела DIV мне нужно установить разные значения для элемента управления формы.

Здесь у меня есть список имен сотрудников и их должностей. Пока я зацикливаю данные JSON с помощью * ng, мне нужно установить разные должности для каждого сотрудника.

HTML.

 <div class="col-sm-12" *ngFor='let positionsEMP of Response'>

  <h6>{{positionsEMP?.Name}}</h6>

  <form [formGroup]="Employees" >
    <mat-form-field>
      <mat-label>Position</mat-label>
      <mat-select  placeholder="position"
        formControlName="position">
        <mat-option>Select</mat-option>
        <mat-option *ngFor="let pos of POSITION" [value]="pos?.Id">{{pos?.Name}}
        </mat-option>
      </mat-select>
      <mat-error *ngIf="Employees.get('position').hasError('required')">
        EMployee name is must.
      </mat-error>
    </mat-form-field>
  </form>

  <button  class="col-sm-12" mat-flat-button (click)=Action(positionsEMP?.ID,Employees.value)>Update</button>
</div>

Здесь я хочу установить различные значения для элемента управления формы для соответствующего сотрудника.

TS.

1 Ответ

0 голосов
/ 21 марта 2019

В машинописи у вас, вероятно, есть:

this.Employees = this.fb.group({
"ID"       : [""],
"position" : [""]
})

Если вы хотите изменить значение formControlName при нажатии кнопки «Обновить», выполните следующие действия:

Action(id,value)
{
 this.Employees.controls["ID"].setValue(id); 
 this.Employees.controls["value"].setValue(value);
}

Примечание:

Имя переменной и имя метода всегда должны начинаться со строчной буквы, проверьте: camelCase

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