Как очистить выбор ng-select - PullRequest
0 голосов
/ 18 июня 2019

Можно ли программно очистить выбор выпадающего списка ng-select?Мне нужно такое же поведение, как нажатие на значок очистки, но оно запускается программно.

Screenshot of ng-select dropdown, with clear icon circled in red

Я ожидал метод clear() или что-то подобное,но документированный API не имеет ничего общего с этим.

Это мой выпадающий код:

<ng-select class="ng-select-wrap"
           [searchFn]="multiTermSearch"
           [items]="calculationOptions"
           placeholder="Please select..."
           name="calculation"
           #calculationValue="ngModel"
           [(ngModel)]="selectedCalculation">
</ng-select>

Ответы [ 3 ]

2 голосов
/ 18 июня 2019

Вот решение из комментария:

  // Access ng-select
  @ViewChild(NgSelectComponent) ngSelectComponent: NgSelectComponent;

  // Call to clear
  this.ngSelectComponent.handleClearClick();

Обратите внимание, что handleClearClick не отображается в документах как публичный API-метод, однако Тим упомянул, что это публичный метод, поэтому можнопозвони.

1 голос
/ 18 июня 2019

Очистить выбор можно, просто установив значение ngModel в ноль.В приведенном выше примере:

this.selectedCalculation = null;

Это не то же самое, что нажатие на значок очистки, поскольку оно не вызывает событие вывода (clear), но этого было достаточно для моих нужд..

0 голосов
/ 18 июня 2019

Как и @tim, ответ правильный, но я бы предпочел, чтобы вы указали пустой массив вместо нуля, чтобы сохранить любой разрыв цикла.

this.selectedCalculation = [];
...