PrimeNG multiselect onItemClick не работает после обновления до 7

У меня есть MultiSelectComponent, который расширяет Primeng MultiSelect

После обновления с 6.1.6 до 7.0.4

<ul class="not-important"
   <li *ngFor="let option of options; let i = index" class="not-important"
   (click)="onItemClick($event, option)"

Свойство onItemClick не существует для типа MultiSelect. Какая замена? Не могу найти что-то в документации ...


person Juri    schedule 09.01.2019    source источник


Ответы (2)


Глядя на документацию, похоже, что они не обновляли ее.

После просмотра исходного кода вы должны теперь использовать onOptionClick()

Вы можете увидеть изменения здесь:

Я поднял проблему с командой PrimeNG, чтобы исправить документацию.

person Jamie Rees    schedule 09.01.2019
comment
не работает: TS2349: невозможно вызвать выражение, тип которого не имеет сигнатуры вызова. Тип «EventEmitter ‹any›» не имеет совместимых подписей вызовов. - person Juri; 09.01.2019
comment
есть onClick на MultiSelectItem, но не на MultiSelect - person Juri; 09.01.2019
comment
Если вы посмотрите на коммит github, вы увидите, что они переименовали onItemClick в onOptionClick` в компоненте MultiSelect. - person Jamie Rees; 09.01.2019
comment
попробовал это с помощью $ event, но ... ОШИБКА TypeError: невозможно прочитать свойство "отключено" неопределенного - person Juri; 09.01.2019
comment
Ваш код, о котором идет речь, не показывает никаких disabled свойств. Так что я не знаю, как с этим помочь. - person Jamie Rees; 09.01.2019
comment
признателен за вашу помощь. Нашли решение - person Juri; 10.01.2019

Я нашел решение (понятия не имею, что случилось с Primeng)

public onMyClick(event: any, option: any): void {
    event.option = option;
    super.onOptionClick(event);
}

Вызов onMyClick при щелчке по элементу <li>.

person Juri    schedule 10.01.2019