tabulator - 制表符 - 自定义标题过滤器和 searchData() 的问题
问题描述
我正在使用 searchData() 来计算不同条件下的行数以显示给用户,而不会影响表本身。具体来说,一个列是“可用的”,我想根据过滤条件集显示可用和不可用状态有多少行。大多数过滤器是正常的默认类型标题过滤器。
为此,我使用 dataFiltered() 回调。在回调中,我得到一个列表中的所有过滤器,然后在列表中添加和不添加“可用”过滤器的情况下进行计数。问题是我有一列带有自定义标题过滤器,并且 Tabulator 在调用 searchData() 时会抱怨该列是否处于活动状态。自定义过滤器按表中的预期工作。相关的代码片段是:
//table def
dataFiltered:function(filters, rows) { SetCounts(filters, rows) },
// col def
{title:"Sex", field:"sex", visible:true, hozAlign:"center", headerSort:false,
headerFilter:true, headerFilterFunc:customSexFilter,
},
// custom filter
function customSexFilter(headerValue, rowValue, rowData, filterParams) {
return (headerValue == rowValue) || (headerValue == "M" && rowValue == "N") || (headerValue == "F" && rowValue == "S");
}
// dataFiltered callback (simplified; one of two cases shown)
var availFilter = { field: "avail", type: "like", value: "A"};
function SetCounts(filters, rows) {
if (!table) return;
var filt = table.getHeaderFilters().concat(filters.slice());
var nAll = rows.length;
var fA = filt.slice();
fA.push( availFilter );
var nAvail = table.searchData(fA).length;
\$("#rowCount").html([nAll, '/', nAvail, 'A'].join(''));
}
我得到的错误是Filter Error - No such filter type found, ignoring: function o(o)
过滤器本身显示为
field: "sex"
type:o(o)
value: "F"
我研究了文档,但无法弄清楚我做错了什么。还是不支持?4.6 版。
解决方案
推荐阅读
- css - 使用标签面板和 CSS 的 Material UI
- angular - 具有可扩展行的角材料表 - 将子表的列排列在彼此下方
- java - Apache Tomcat 升级到 8.5.51 导致 400 错误
- ruby - 在纯 Ruby 中获取时区(无轨道)
- python - 在另一个方法中调用不同的方法
- python - 从 PYTHON 在线 IDE 和 PYCHARM 获得不同的结果。EOF 错误
- c++ - 如何输出一个真正不同的随机结果,从 C++ 中的一串数组中提取?
- php - 查询两个 Woocommerce 标准表
- javascript - loadable component require not found with webpack
- java - Returning Hapi FHIR element in restful server