使用$ .fn.dataTable.ext.search.push

时间:2019-06-04 17:04:10

标签: javascript angular datatables

我有几个数据表调用的函数。这是它的简化版本:

addFilter(tableElement: ElementRef, headerName) {
    $.fn.dataTable.ext.search.push(
        function (settings, data) {
            // check table so we only filter the table that was passed in
            if (settings.nTable.id !== tableElement.nativeElement.id) {
                return true;
            }

            const columns = settings.aoColumns;
            const columnObject = columns.find(function (column) { return column.sTitle === headerName; });
            if (columnObject) {
                const columnIndex = columnObject.mData;
                if (data[columnIndex] === 'true') {
                    return true;
                } else {
                    return false;
                }
            }
        }
    );
}

这就是我想要的,但是我现在遇到的问题是,当我单击列上的排序/顺序图标时,传递给$ .fn.dataTable.ext.search.push的函数越来越叫。它没有调用addFilter函数。只是某种程度上,它正在执行传递到推送中的功能。我的猜测是,当您单击排序图标时,它将在桌子上调用平局,但我不知道如何调用我的push函数。

0 个答案:

没有答案