Angular mat-select 得到selected选项数据对象

Angular mat-select get the selected option data object

在我的 Angular 7 应用程序下,我正在使用 mat-select 组件:

<mat-form-field  class="col-md-3" color="warn">
     <mat-select placeholder="Selectionner le code Edo"
                  id="codeEdo"
                  [(value)]="selectedCodeEdoValue"
                  ngDefaultControl
                  formControlName="codeEdo">
     <mat-option (onSelectionChange)="onEdoSelectionChanged(edo )"
                 *ngFor="let edo of shopsList"
                  [value]="edo.edoId">
                  {{edo.edoId}}
     </mat-option>
     </mat-select>
</mat-form-field>

我的选项数据如下:

let shopsList= [
  {
    'edoId': '4010',
    'storeName': 'ABBEVILLE'
  }
  ,
  {
    'edoId': '3650',
    'storeName': 'AGEN'
  }
  ,
  {
    'edoId': '3298',
    'storeName': 'AIX ALLEES PROVENCALES'
  }
];

我的目的是在选项为 selected 时获取 selected 对象数据,而不仅仅是值

例如,当我 select 第一个选项 时,我想要得到这个 :

result = {
    'edoId': '4010',
    'storeName': 'ABBEVILLE'
}

而且不仅值'4010'

如你所见,我已经试过了:(onSelectionChange)="onEdoSelectionChanged(edo )

但这总是让我兴奋 两个事件,旧的 selected 选项和新的 selected 选项,

我怎样才能只得到新的select离子数据??

我认为你的错误在于这段代码:

[value]="edo.edoId"

尝试将其更改为

[value]="edo"

这将 return 完整对象,而不仅仅是那个特定字段