Angulaire Tapis de Sélectionner Plusieurs selectionchange trouver l'option qui a été changé

J'ai un mat select avec de multiples options. Cependant j'ai besoin de savoir quand les changements de la sélection, le changement a été.

Par exemple si j'ai une liste:

<mat-select (selectionChange)="change($event)" multiple placeholder="Select">
  <mat-option value="1">one</mat-option>
  <mat-option value="2">two</mat-option>
  <mat-option value="3">three</mat-option>
  <mat-option value="4">for</mat-option>
</mat-select>

Quand selectionChange est tiré, il renvoie ce que la nouvelle sélection est. Mais j'ai besoin de savoir ce que la nouvelle valeur, qui est en cours de modification est. Comment puis-je accès ?

Par exemple, si 1 et 3 sont sélectionnés et ensuite un utilisateur choisit 4, j'ai besoin de savoir ce qu'ils ont récolté 4 mais je ne vois pas un moyen d'accéder à l'information d'événement.

https://stackblitz.com/edit/angular-1e9gsd?file=app/select-overview-example.ts

J'ai essayé de mettre le (selectionChange)="change($event)" partie sur la <mat-option> mais il ne semble pas être pris en charge de l'événement déclencheur.

  • Avez-vous dans l'événement, de la console.log(événement.valeur);
  • new selection n'est pas le new value ? pouvez-vous expliquer ? console.log(event.value); me semble bon. il semble que vous ayez à préciser votre question.
  • désolé. J'ai foiré l'exemple... c'était sensé être une multi sélection, comme le dit le titre... fixe l'exemple maintenant. De l'événement.valeur donne un tableau de tout choisi. Je veux juste la chose nouvelle qui a été choisi, de préférence, sans mise en cache de la vieille valeur sélectionnée et de faire une comparaison pour trouver ce qui est changé.
InformationsquelleAutor Curtis | 2018-05-31