Как получить 2 поля из выбранного материала выберите вход? - PullRequest
0 голосов
/ 19 апреля 2019

У меня есть список выбора, который загружает список компаний. В настоящее время я могу получить только идентификатор или название компании. Мне нужно сохранить идентификатор и название выбранной компании в коллекции пожарных.

попробовал (selectionChange)="changeCompany($event.value)" Но это отправляет объекту значение объекта. Как мне название из этого?

loadedCompanies: Company[] = [];

HTML

      <mat-form-field>
        <mat-select formControlName="companyid" (selectionChange)="changeCompany($event.value)"  placeholder="Select Company" [compareWith]="compareFn">
          <mat-option *ngFor="let lC of loadedCompanies" [value]="lC.id" >
              {{lC.name}}
            </mat-option>
    </mat-select>
    </mat-form-field>

метод changeCompany

    changeCompany(data) {
      this.selectedCompanyName = this.loadedCompanies[data].name;
      console.log('CName' + this.selectedCompanyName);
    }

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

Спасибо

1 Ответ

0 голосов
/ 22 апреля 2019

Я решил это следующим образом:

    changeCompany(data) {
  const inspect = obj => {
    for (const prop in obj) {
      if (obj.hasOwnProperty(prop)) {
        console.log(`${prop}: ${obj[prop]}`);
        if (prop === 'name') {
          this.selectedCompanyName = obj[prop];
        }
        if (prop === 'field1') {
          this.selectedField1 = obj[prop];
        }
        if (prop === 'field2') {
          this.selectedField2 = obj[prop];
        }
      }
    }
  };
  inspect(data);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...