Есть ли способ получить [resetFilterOnHide] = "true" в p-раскрывающемся меню для работы с primeng 5.2.7? - PullRequest
0 голосов
/ 11 апреля 2019

[resetFilterOnHide] = "true" в раскрывающемся списке p не работает.Если я наберу на панели фильтров, щелкните за пределами раскрывающегося списка, чтобы закрыть его, а затем снова введите раскрывающийся список, введенный фильтр все еще там.

Я использую primeng 5.2.7 в угловом приложении 4.К сожалению, я не могу обновить их до последних версий, из-за которых у меня возникают некоторые проблемы с компонентом p-dropdown в primeng.Проблема задокументирована и исправлена ​​в primeng 6.0.1 в соответствии с https://github.com/primefaces/primeng/issues/5915.

Есть ли способ исправить это в primeng 5.2.7?

1 Ответ

0 голосов
/ 11 апреля 2019

Вы можете попробовать переопределить bindDocumentClickListener() метод формы primeng Dropdown и внести те же изменения, что и в: https://github.com/primefaces/primeng/commit/bbd66dfd15275761be9aa3e757825d32f0f6f531

Это должно выглядеть так:

Dropdown.prototype.bindDocumentClickListener = function() {
    if(!this.documentClickListener) {
        this.documentClickListener = this.renderer.listen('document', 'click', () => {
            if(!this.selfClick&&!this.itemClick) {
                this.hide();
                this.unbindDocumentClickListener();
            }

            this.selfClick = false;
            this.itemClick = false;
            this.cd.markForCheck();
        });
    }
}

Но вы должнытакже проверьте, существует ли метод hide() для версии primeng, которую вы используете в выпадающем компоненте.

...