web-dev-qa-db-fra.com

Angular 6 Méthode de changement de tapis de sélection du matériau supprimée

Dans Angular Material Design 6, la méthode (modification) a été supprimée. Je ne trouve pas comment remplacer la méthode de modification pour exécuter du code dans le composant lorsque l'utilisateur modifie la sélection. Merci!

71

Le changé de change à selectionChange.

<mat-select (change)="doSomething($event)">

est maintenant

<mat-select (selectionChange)="doSomething($event)">

https://material.angular.io/components/select/api

202
VtoCorleone

Si vous utilisez des formulaires réactifs, vous pouvez écouter les modifications apportées au contrôle de sélection, comme cela est le cas.

this.form.get('mySelectControl').valueChanges.subscribe(value => { ... do stuff ... })
16
Joseph Simpson

Pour moi, (selectionChange) et le (onSelectionChange) suggéré ne fonctionnent pas et je n'utilise pas ReactiveForms. J'ai fini par utiliser l'événement (valueChange) comme:

<mat-select (valueChange)="someFunction()">

Et cela a fonctionné pour moi

1
silverhash

Pour:

1) mat-select (selectionChange)="myFunction()" fonctionne dans angular comme:

sample.component.html

 <mat-select placeholder="Select your option" [(ngModel)]="option" name="action" 
      (selectionChange)="onChange()">
     <mat-option *ngFor="let option of actions" [value]="option">
       {{option}}
     </mat-option>
 </mat-select>

sample.component.ts

actions=['A','B','C'];
onChange() {
  //Do something
}

2) Simple HTML, sélectionnez (change)="myFunction()" fonctionne dans angular comme:

sample.component.html

<select (change)="onChange()" [(ngModel)]="regObj.status">
    <option>A</option>
    <option>B</option>
    <option>C</option>
</select>

sample.component.ts

onChange() {
  //Do something
}
0
Kailas