【问题标题】:Overwrite javascript function ag-grid覆盖 javascript 函数 ag-grid
【发布时间】:2016-06-19 05:05:07
【问题描述】:

我需要在 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

【问题讨论】:

  • 用点替换逗号并不是覆盖网格内部功能的充分理由。您是否尝试过创建一个可以处理您的数字格式的自定义过滤器,如文档中所述?
  • @Tomalak 并阅读文档进行小改动我需要基本上应用 NumberFilter 类中的所有功能,所以我想知道是否有办法在新对象中继承他的所有功能,然后改变他的方法。我尝试做例如 var CustomNumberFilter = Object.create(NumberFilter); ,但不起作用。

标签: javascript ag-grid


【解决方案1】:

在此处复制:Ag-grid inheritate functionality

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


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

然后,而不是指定

filter:'number'

你可以这样做:

filter:new MyNumberFilter();

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

【讨论】:

    猜你喜欢
    • 2022-10-21
    • 2021-06-13
    • 2018-06-11
    • 1970-01-01
    • 2019-03-10
    • 2021-04-16
    • 2010-10-30
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多