Je souhaite utiliser la valeur sélectionnée dans la liste déroulante de ma classe de composants. Lorsqu'une valeur est sélectionnée depuis le menu déroulant, cette valeur est stockée avec ngModel, mais cela ne fonctionne pas. J'ai également essayé une autre méthode, à savoir déclencher une fonction d'événement et passer la valeur sélectionnée comme paramètre.La valeur sélectionnée dans la liste déroulante ne fonctionne pas Angulaire
<select [(ngModel)]="selectedControl" class="form-control" (click)="onSelection($event)">
<option *ngFor="let control of controlArray; let i=index"
[value]="control">{{controlArray[i].name}}</option>
</select>
Quand je sortie la valeur sélectionnée sur la console, il ne montre pas, voici le code de classe de composant:
onSelection(control){
console.log(typeof(control))
console.log(control.target.value)
}
S'il vous plaît aider.
Vous ne consignez jamais la valeur sélectionnée. Vous consignez l'événement ($ event) transmis à la méthode. Ne passez pas l'événement à la méthode, et enregistrez simplement 'this.selectedControl', puisque c'est ce qui est lié avec ngModel. De plus, l'événement ne devrait pas être (cliquer), mais (changer). –
J'ai également essayé cette solution auparavant, mais en enregistrant this.selectedControl "[object Object]" s'affiche en sortie plutôt que la valeur sélectionnée. –
Vous avez probablement besoin de lier '' [ngValue] 'au lieu de' [value] ', car l'attribut natif utilise uniquement des chaînes. – rinukkusu