如何使用angular4在Dropdown selectionChange中传递id?

时间:2018-03-16 14:53:30

标签: javascript angular

这是我的对象(来自api)填充在下拉列表中

[
  {Id: 1, Name: 'Hydrogen', symbol: 'H'},
  {ID: 2, Name: 'Helium',  symbol: 'He'},
  {ID: 3, Name: 'Lithium',  symbol: 'Li'},

];

下面我有我的HTML代码

<mat-form-field >
  <mat-select formControlName="Name" placeholder="Name" (selectionChange)="elementSelectionChange($event)">
    <mat-option *ngFor="let element of Elements" [value]="element.Name">
      {{ element.Name }}
    </mat-option>
  </mat-select>
</mat-form-field>

当用户选择名称selectionChange需要传递时,根据该ID,我需要填充下一个下拉值。

这里我不想更改[value]="element.Name"但是当用户在下拉列表中选择一些名称时,我需要传递ID才能实现这一点。

component.ts

elementSelectionChange(event) {

        console.log(event.value.ID);

  }

1 个答案:

答案 0 :(得分:0)

假设所有名称都是唯一的,您可以使用find()来获取选择的ID:

elementSelectionChange(ev) {
  let value = this.Elements.find(x => x.Name === ev.value)
  console.log(value.ID);
}