Как определить, когда элемент удален из автозаполнения Primeng | Угловой 6 - PullRequest
0 голосов
/ 27 мая 2019

Я использую динамическое автозаполнение примены, чтобы позволить пользователю выбрать несколько элементов, но я застрял в том, как определить, когда пользователь нажал x, чтобы удалить элемент из списка.я знаю, что могу использовать [(ngModel)] для обнаружения изменения значения, но мой вопрос:

Есть ли способ, как функция обратного вызова, чтобы обнаружить удаленный элемент при нажатии x ?

как определено:

<p-autoComplete
            #autoCompleteObject
            [(ngModel)]="value" [suggestions]="filteredOptions"
            (completeMethod)="filterObjects($event)"
            [multiple]="true"
            [dropdown]="false"
            (onSelect)="emitData()"
            (onUnselect)="emitData()"
            placeholder="{{ label | i18n}}"
    >
        <ng-template let-item pTemplate="selectedItem">
            <div class="selected-item">
                <span >{{item[labelProperty]}}</span>
            </div>
        </ng-template>
        <ng-template let-item pTemplate="item">
            <div class="flex ">
                <span >{{item[labelProperty] | i18n}}</span>
            </div>
        </ng-template>

    </p-autoComplete>

как используется

 <my-autocomplete-multiple [(ngModel)]="entryItems" label='type_here' [options]=allItems
                                          ngDefaultControl></my-autocomplete-multiple>

Как на фотографии ниже, я обвел кружкомx с красным цветом enter image description here

1 Ответ

0 голосов
/ 27 мая 2019

Согласно документации , метод обратного вызова onUnselect() вызывается при удалении выбранного значения. Параметр $event является невыбранным значением в многократном режиме.

Вместо привязки emitData() к методам onSelect() и onUnselect(), я рекомендую использовать отдельный метод для каждого, например так:

(onSelect)="emitAddData($event)"
(onUnselect)="emitRemoveData($event)"

Тогда тот, кто связан с onUnselect(), может обрабатывать все, что вам нужно сделать, когда элемент удален.

...