Получить выбранное значение ng-select - Angular8 - PullRequest
4 голосов
/ 10 февраля 2020

Я новичок с Angular 8.
Я создал следующее выпадающее меню в компоненте, который очень хорошо работает для меня:

<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>

Теперь я хотел бы знать, как Я могу получить выбранный элемент в файле ts того же компонента.
Заранее спасибо.

Ответы [ 2 ]

7 голосов
/ 10 февраля 2020

Вы можете использовать событие change для захвата выбранного значения.

<!-- 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);
}
4 голосов
/ 13 февраля 2020

Добавьте атрибут [(ngModel)] к атрибутам ng-select и передайте его значение для запуска.

<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>

Затем в файле ts:

export class myComponent {

    public val: string;

    changeFn(val) {
        console.log("Dropdown selection:", val);
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...