繁体   English   中英

有没有办法在p下拉菜单上使[resetFilterOnHide] =“ true”来与primeng 5.2.7一起使用?

[英]Is there a way to get [resetFilterOnHide]=“true” on p-dropdown to work with primeng 5.2.7?

p下拉菜单上的[resetFilterOnHide] =“ true”不起作用。 如果我在过滤器栏中键入内容,请在下拉列表的外部单击以将其关闭,然后再次输入该下拉列表,则我输入的过滤器仍然存在。

我在angular 4应用程序中使用primeng 5.2.7。 不幸的是,我无法将它们升级到最新版本,因此,我遇到了primeng的p-dropdown组件的一些问题。 根据https://github.com/primefaces/primeng/issues/5915在primng 6.0.1中记录并修复了该问题。

是否可以在primeng 5.2.7中解决此问题?

您可以尝试覆盖bindDocumentClickListener() Dropdown形式的bindDocumentClickListener()方法,并进行以下更改: 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();
        });
    }
}

但是,您还应该检查在Dropdown组件中使用的primeng版本是否存在hide()方法。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM