Как добавить кнопку очистки для фильтрации в multiselect primeng angular

#angular #primeng #multi-select

#angular #primeng #множественный выбор

Вопрос:

Я пытаюсь сделать multiselect с фильтром. Мне нужно очистить фильтр после фильтрации (а не выбора). Я использовал prime ng multiselect, и у него нет свойства для удовлетворения этого требования.

ниже приведен мой код.

 <p-multiSelect 
  [options]="subjectTitles" 
  [showToggleAll]="false" 
  [(ngModel)]="selectedTitle 
  [ngModelOptions]="{ standalone: true }" 
  optionLabel="title" 
  defaultLabel="Select title"  
  [filter]="true 
  [itemSize]="30" 
  filterPlaceHolder="Search title" 
  #select="ngModel" 
  required 
  (onPanelHide)="panelClosed = true" 
  class="multiselect-custom-virtual-scroll" >
</p-multiSelect>`
  

Могу ли я узнать, есть ли у кого-нибудь решение для этого?

Ответ №1:

В событии panelshow для p-multiselect задайте тип ввода фильтра multiselect как «поиск».

 (onPanelShow)="onMsPanelShow()"

onMsPanelShow()
{
    if(document.getElementsByClassName(
    "p-multiselect-filter p-inputtext p-component"
    )){
        document.getElementsByClassName(
        "p-multiselect-filter p-inputtext p-component"
        ).item(0).setAttribute("type","search");
    }
}
  

PS Это может не работать с браузером IE.