En Angular Material Design 6, se eliminó el método (cambiar). No puedo encontrar cómo reemplazar el método de cambio para ejecutar el código en el componente cuando el usuario cambia la selección ¡Gracias!
129
La cambió de changea selectionChange.
<mat-select (change)="doSomething($event)">
es ahora
<mat-select (selectionChange)="doSomething($event)">
(changeEventChange)evento para detectar cuándo cambia el evento de cambio.selectionChangematerial.angular.io/components/select/apiSi está utilizando formularios reactivos, puede escuchar los cambios en el control de selección así.
fuente
.updateValueAndValidityel control, no olvide pasar{ emitEvent: false }para evitarRangeError: Maximum call stack size exceeded. Por otro lado, gracias por la pista (+1), me llevó a lo que necesitaba.Por:
1) mat-select
(selectionChange)="myFunction()"funciona en angular como:sample.component.html
sample.component.ts
2) La selección html simple
(change)="myFunction()"funciona en angular como:sample.component.html
sample.component.ts
fuente
Para mí
(selectionChange)y lo sugerido(onSelectionChange)no funcionó y no lo estoy usandoReactiveForms. Lo que terminé haciendo fue usar el(valueChange)evento como:Y esto funcionó para mi
fuente
<mat-select placeholder="Select an option" [(ngModel)]="project.managerId" name="managerId" required (selectionChange)="fillComanager(project.managerId)"> <mat-option *ngFor="let manager of managers" [value]="manager.id"> {{ manager.name }} </mat-option> </mat-select>Hoy tengo este problema con mat-option-group. Lo que me resolvió el problema es usar en otro evento proporcionado de mat-select: valueChange
Pongo aquí un pequeño código para entenderlo:
Versión del tapete:
fuente