首页 > 解决方案 > 选择后如何禁用,从下拉菜单中隐藏选项

问题描述

我正在使用primeng进行角度应用。选择一个选项后,我需要停止隐藏菜单下拉菜单的选项!

<p-menu onchange="onSelected" [showTransitionOptions]="'0ms'" [hideTransitionOptions]="" #menu [popup]="true" 
[model]="items"></p-menu>
        <button type="button" pButton icon="fa fa-fw fa-list" label="Sort" 
(click)="menu.toggle($event)"></button>


  onSortingSelected() {
  event.stopPropagation();
}

如何解决这个问题?我需要一次单击多个选择选项而不隐藏选项列表!

标签: angularprimeng

解决方案


这是 PrimaNG 代码

    itemClick(event, item: MenuItem) {
        if (item.disabled) {
            event.preventDefault();
            return;
        }

        if (!item.url) {
            event.preventDefault();
        }

        if (item.command) {
            item.command({
                originalEvent: event,
                item: item
            });
        }

        if (this.popup) {
            this.hide();
        }
    }

看起来没有办法改变这种行为。

一种可能的解决方案是编写从 PrimeNG 继承的组件并覆盖 itemClick 实现

我从未尝试过,但是....有这篇文章可能会有所帮助


推荐阅读