typescript - Hent valgt verdi fra ng-select - Angular8
Jeg er nybegynner med Angular 8.
Jeg laget følgende rullegardinmeny i en komponent, som fungerer veldig godt for meg:
<ng-select class="w-25 p-3" placeholder="{{'author' | translate}}" [clearable]="false" [searchable]="false">
<ng-option>{{'author' | translate}}</ng-option>
<ng-option>{{'title' | translate}}</ng-option>
<ng-option>{{'date' | translate}}</ng-option>
</ng-select>
Nå vil jeg gjerne vite hvordan jeg kan hente det valgte elementet i ts-filen til den samme komponenten.
Takk på forhånd.
Svar #1
Du kan bruke change-hendelsen for å fange den valgte verdien.
<!-- Template -->
<ng-select (change)="changeFn" class="w-25 p-3" placeholder="{{'author' | translate}}" [clearable]="false" [searchable]="false">
<ng-option>{{'author' | translate}}</ng-option>
<ng-option>{{'title' | translate}}</ng-option>
<ng-option>{{'date' | translate}}</ng-option>
</ng-select>
<!-- Component ts file -->
changeFn(val) {
console.log(val);
}
Svar #2
Legg til [(ngModel)]-attributtet til attributtene til ng-select, og send verdien dens til utløseren.
<ng-select (change)="changeFn(selection)" [(ngModel)]="selection" class="w-25 p-3" placeholder="{{'author' | translate}}" [clearable]="false" [searchable]="false">
<ng-option>{{'author' | translate}}</ng-option>
<ng-option>{{'title' | translate}}</ng-option>
<ng-option>{{'date' | translate}}</ng-option>
</ng-select>
Så i ts-filen:
export class myComponent {
public val: string;
changeFn(val) {
console.log("Dropdown selection:", val);
}
}
