2 votes

ng2-auto-complete ngModel ne change pas de valeur

J'utilise le module ng2-auto-complete. J'ai un formulaire de validation et je veux changer la valeur du ngModel, lorsque l'utilisateur sélectionne une valeur à partir de données de recherche (autocomplete).

Je ne veux pas changer la valeur via un valueChangedEvent, parce que j'utilise ce module plus d'une fois. Je veux lier mon ngModel avec la valeur de l'auto-complétion. Comment cela est-il possible ?

Cela ne fonctionne pas :

<div ng2-auto-complete 
  [source]="getValue('country')"
  placeholder="enter text">
  <input [(ngModel)]="person.country" />
</div>

si je sélectionne une valeur, le pays de la personne ne change pas.

Merci d'avance !

2voto

trichetriche Points 23532

Vous pouvez essayer d'utiliser une fonction sur un événement d'entrée comme ceci :

<input [(ngModel)]="person.country" #myInput (input)="changeModel(myInput.value)"/>

// TS
changeModel(value: string) { this.person.country = value; }

Vous pouvez également utiliser l'implémentation OnChange

export class MyClass implements OnChanges {
    // ...
    ngOnChanges(changes: SimpleChanges) { this.person.country = changes.allResults.currentValue; }
}

0voto

Pratheesh Nambi Points 93

Modifiez votre code comme suit

<div 
  placeholder="enter text">
  <input [(ngModel)]="person.country" ng2-auto-complete 
  [source]="getValue('country')" />
</div>

La balise ng2-auto-complete et la source doivent accompagner le champ de saisie.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X