自定义过滤器:我可以使用自定义按钮进行过滤吗?

时间:2017-11-22 11:26:34

标签: javascript angular ag-grid ag-grid-ng2

我正在尝试在 上拥有自己的自定义过滤器 除Apply按钮外,我还想为过滤器设置其他按钮。即如果我可以在某种UI中解释这一点,

| - 自定义过滤器-------------------。
|过滤文字:_____________ |
| Apply | Clear | Clear All |
| _______________________ |

通过使用ag-grid的默认过滤器组件,我知道如果我在filterParams中提供ColDef,我可以使用两个按钮。

filterParams: {
    applyButton: true,
    clearButton: true
}

但是另一个自定义(Clear All)按钮怎么样?有什么办法可以实现吗?

1 个答案:

答案 0 :(得分:0)

经过几个小时的搜索和反复试验后实现了它。

查看此处给出的示例: ag-Grid Angular Custom Filter Component 查看PartialMatchFilterComponent及其代码。

在对模板和组件进行一些代码更新后,我们可以实现它。

更新模板:

<button (click)="apply()">Apply</button>
<button (click)="clear()">Clear</button>
<!-- any other buttons you want to keep -->

组件代码更新不多:只需点击this.params.filterChangedCallback()按钮即可致电Apply

apply(): void {
    this.params.filterChangedCallback();
}
clear(): void {
    this.text = '';
    this.params.filterChangedCallback();
}
onChange(newValue): void {
    if (this.text !== newValue) {
        this.text = newValue;
        // this.params.filterChangedCallback(); - remove
    }
}