Как получить имя FormControl в Typescript - PullRequest
0 голосов
/ 06 февраля 2019

У меня два выпадающих списка с множественным выбором.

<mat-form-field>
  <mat-select [formControl]="FirstFormControl" multiple>
    <mat-option (onSelectionChange)="selectA($event) *ngFor="let msj of filter?.msj" [value]=msj>{{msj}}
    </mat-option>
  </mat-select>
</mat-form-field>



 <mat-form-field>
      <mat-select [formControl]="SecondFormControl" multiple>
        <mat-option (onSelectionChange)="selectB($event) *ngFor="let guide of filter?.guide" [value]=guide>{{guide}}
        </mat-option>
      </mat-select>
  </mat-form-field>

В Typescript мне нужно знать, какое имя FormControl нажимается, потому что я хочу сделать разные вещи в обоих случаях.

FirstFormControl = new FormControl();
SecondFormControl = new FormControl();

1 Ответ

0 голосов
/ 06 февраля 2019

Вы можете отправить formcontrol имя вручную из шаблона в метод компонента

<mat-form-field>
      <mat-select [formControl]="SecondFormControl" multiple>
        <mat-option (onSelectionChange)="selectB($event, 'SecondFormControl') *ngFor="let guide of filter?.guide" [value]=guide>{{guide}}
        </mat-option>
      </mat-select>
 </mat-form-field>

ts код:

selectB(event, cntrlName){
  console.log(cntrlName);
  console.log(this.myForm.get(cntrlName).value);
}

В качестве альтернативы вы можете наблюдать контроль формы valueChanges для каждого элемента управления формы и получить его имя

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