Очистить значение фильтра PrimeNG multiselect программно

#angular #primeng

#angular #primeng

Вопрос:

Во время события click для выполнения некоторого бизнес-процесса мне нужно очистить выбранные значения (что я и сделал) и значение фильтра для PrimeNG multiselect. Я не вижу способа программно получить доступ к значению фильтра мультиселекта, возможно ли это, и если да, то как? Я бы предпочел не использовать это resetFilterOnHide свойство.

Комментарии:

1. Вы нашли какой-либо обходной путь для этого сценария?

2. @RN92 У меня нет, я все еще использую v6 с ng6, это может быть возможно в более поздних версиях, я собираюсь изучить это для других проблем, я обновлю, если найду ответ.

3. Здесь та же проблема. Нужно найти способ

Ответ №1:

Есть возможность очистить входное значение фильтра с помощью события onFilterShow / onFilterHide, есть опция с именем _filterValue элемента для установки значения следующим образом:

HTML:

 <p-multiSelect #element [options]=".data" [(ngModel)]="selectedItems"
        optionLabel="label" optionValue="label"
        [filter]="true" (onPanelShow)="onPanelShow(element)">
  

TS:

   onPanelShow(element: any) {
    element._filterValue = ''
  }
  

Примечание: PrimeNG V12.0 LTS

Это может вам помочь.