Как перехватить выбранную опцию? - PullRequest
0 голосов
/ 30 ноября 2018

Я занимаюсь разработкой веб-приложения с использованием Angular 6. В этом проекте я использую библиотеку bootstrap-select для реализации динамических комбинированных списков.Я не очень хорошо знаю библиотеку, но мне нужен метод, который перехватывает щелчок пользователя на элементе опции.Например, в этом коде (который использует библиотеку):

<select class="form-control selectpicker"
        data-live-search="true"
>
<option *ngFor="let option of options" [value]="option.value" 
[selected]="selectedOption == option">{{option.label}}</option>
</select>

Мне бы хотелось, чтобы пользователь, нажимая на элемент меню параметров, заставлял запускать метод, который перехватывает имя текущего <option>.Классическое событие (click)="method(currentOption)" не работает с элементами <option>.Как я могу получить это?Спасибо!

1 Ответ

0 голосов
/ 30 ноября 2018

Используйте (change)="yourMethod()" вместе с [(ngModel)]="selectedOption".Вам нужно определить свойство с именем selectedOption в классе компонентов:

<select 
  class="form-control selectpicker"
  data-live-search="true"
  (change)="onChange($event)"
  [(ngModel)]="selectedOption">
  <option 
    *ngFor="let option of options" 
    [value]="option.value" 
    [selected]="selectedOption == option">
    {{option.label}}
  </option>
</select>

Вот вам рабочий образец StackBlitz для вашей ссылки.

...