Angular mat-select 获取选中的选项数据对象

fir*_*baa 4 javascript angular-material angular-material2 angular angular6

在我的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>
Run Code Online (Sandbox Code Playgroud)

我的选项数据如下:

let shopsList= [
  {
    'edoId': '4010',
    'storeName': 'ABBEVILLE'
  }
  ,
  {
    'edoId': '3650',
    'storeName': 'AGEN'
  }
  ,
  {
    'edoId': '3298',
    'storeName': 'AIX ALLEES PROVENCALES'
  }
];
Run Code Online (Sandbox Code Playgroud)

我的目的是在选择一个选项时获取选定的对象数据,而不仅仅是值

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

result = {
    'edoId': '4010',
    'storeName': 'ABBEVILLE'
}
Run Code Online (Sandbox Code Playgroud)

不仅是值“4010”

正如你所看到的,我试过这个: (onSelectionChange)="onEdoSelectionChanged(edo )

但这总是激发我两个事件,对于旧的选定选项和新的选定选项,

我如何才能获得新的选择数据?

bsh*_*eps 7

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

[值]="edo.edoId"

尝试将其更改为

[值]="edo"

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