【问题标题】:Is there a way to get [resetFilterOnHide]="true" on p-dropdown to work with primeng 5.2.7?有没有办法让 p-dropdown 上的 [resetFilterOnHide]="true" 与primeng 5.2.7一起使用?
【发布时间】:2019-09-02 02:32:20
【问题描述】:

p-dropdown 上的 [resetFilterOnHide]="true" 不起作用。如果我在过滤栏输入,在下拉菜单之外点击关闭它,然后再次进入下拉菜单,我输入的过滤器仍然存在。

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

有没有办法在primeng 5.2.7中解决这个问题?

【问题讨论】:

    标签: javascript angular primeng


    【解决方案1】:

    您可以尝试覆盖 bindDocumentClickListener() 方法 form 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();
            });
        }
    }
    

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

    【讨论】:

      猜你喜欢
      • 2022-01-04
      • 1970-01-01
      • 1970-01-01
      • 2018-09-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-03-09
      • 1970-01-01
      相关资源
      最近更新 更多