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