Ответ 1
Для версии материала> = 6
Используйте событие (selectionChange)
на mat-select
.
<mat-form-field>
<mat-select placeholder="State" (selectionChange)="someMethod($event.value)">
<mat-option *ngFor="let state of states" [value]="state.value">
{{ state.viewValue }}
</mat-option>
</mat-select>
</mat-form-field>
В методе события $event.value
содержит текущее выбранное [value]
. Ссылка на официальную документацию.
@Output() selectionChange: EventEmitter <MatSelectChange>
Событие генерируется, когда выбранное значение было изменено пользователем.
Вот ссылка на демонстрацию Stackblitz.
Для версии материала <6
Используйте (change)
выходное событие.
<md-select placeholder="State" (change)="someMethod()">
<md-option *ngFor="let state of states" [value]="state.value">
{{ state.viewValue }}
</md-option>
</md-select>
Другой способ - использовать событие (onSelectionChange)
для <md-option>
:
<md-select placeholder="State">
<md-option *ngFor="let state of states" [value]="state.code"
(onSelectionChange)="anotherMethod($event, state)">
{{ state.name }}
</md-option>
</md-select>
Ссылка на демонстрацию Stackblitz.