0

我需要在 ag-grid 中更改一个功能,为此我需要更改一个功能,例如:

 NumberFilter.prototype.onFilterChanged = function () {

            var filterText = utils_1.default.makeNull(this.eFilterTextField.value);

            if (filterText && filterText.trim() === '') {
                filterText = null;
            }
            var newFilter;
            if (filterText !== null && filterText !== undefined) {

            console.log(filterText);


                newFilter = parseFloat(filterText);
                console.log(newFilter);
            }
            else {
                newFilter = null;
            }
            if (this.filterNumber !== newFilter) {
                this.filterNumber = newFilter;
                this.filterChanged();
            }
        };

 NumberFilter.prototype.onFilterChanged = function () {

            var filterText = utils_1.default.makeNull(this.eFilterTextField.value);

            if (filterText && filterText.trim() === '') {
                filterText = null;
            }
            var newFilter;
            if (filterText !== null && filterText !== undefined) {

            console.log(filterText);

                // replace comma by dot
                newFilter = parseFloat(filterText.replace(/,/g, '.'));
                console.log(newFilter);
            }
            else {
                newFilter = null;
            }
            if (this.filterNumber !== newFilter) {
                this.filterNumber = newFilter;
                this.filterChanged();
            }
        };

如何覆盖 ag-grid 配置文件中的功能?上面我留下了一个带有配置文件的演示示例:

Link: https://plnkr.co/edit/LDdrRbANSalvb4Iwh5mp?p=preview
4

1 回答 1

1

在此处重复:Ag-grid 继承功能

我从那里重新发布我的答案


您应该在 NumberFilter 上使用 Javascript 继承,然后覆盖 onFilterChanged 方法。检查此答案以了解如何操作:JavaScript 覆盖方法

然后而不是指定

filter:'number'

你可以做 :

filter:new MyNumberFilter();

如您所见,我实例化了过滤器,它是必需的,否则您将在网格上为所有数字列的过滤器拥有相同的实例。

于 2016-03-07T12:50:50.907 回答