Tabulator 为什么我的制表器自定义标题过滤器在keyup上更改?
复制:Tabulator 为什么我的制表器自定义标题过滤器在keyup上更改?,tabulator,Tabulator,复制: 运行代码段(建议使用整页模式) 按住Ctrl键或Shift键的同时单击以在表格列标题中选择多个“种类” 请注意,在按住键的同时,表格数据将根据选定的“种类”进行过滤 松开键,观察已过滤表格数据的变化 我认为这可能与我需要做一些事情来覆盖默认的制表键事件有关 JSFiddle: const speciesTypes=[‘人类’、‘安卓’、‘倍他唑’、‘克林贡’、‘费伦吉’、‘塔玛瑞安’]; 多功能选择器过滤器(单元){ var值=物种类型; 常量filterFunc=(行数据)=>{ 返
const speciesTypes=[‘人类’、‘安卓’、‘倍他唑’、‘克林贡’、‘费伦吉’、‘塔玛瑞安’];
多功能选择器过滤器(单元){
var值=物种类型;
常量filterFunc=(行数据)=>{
返回值。包括(rowData['species']);
}
常量getSelectedValues=(多选)=>{
var结果=[];
var options=multiSelect&&multiSelect.options;
var-opt;
对于(var i=0,iLen=options.length;i{
var editor=document.getElementById('speciesSelector');
值=getSelectedValues(编辑器);
日志(“值:”+值);
cell.getColumn().getTable().removeFilter(filterFunc);
cell.getColumn().getTable().addFilter(filterFunc);
}
var select=document.createElement(“select”);
select.multiple=“multiple”;
select.id='speciesSelector';
select.style='宽度:100%';
物种类型。forEach(物种=>{
select.innerHTML+=“”+species+“”;
});
cell.getColumn().getTable().addFilter(filterFunc);
select.addEventListener('change',onChange);
返回选择;
}
var table=新制表器(“制表器”{
布局:“fitColumns”,
数据:[{姓名:'Georgi La Forge',物种:'Human'},{姓名:'Dathon',物种:'Tamarian'},{姓名:'Jean-Luc Picard',物种:'Human'},{姓名:'Worf,Mogh之子',物种:'Klingon'},{姓名:'Tasha Yarr',物种:'Human'},{姓名:'data',物种:'Android'},{姓名:'Wesley Cruser',物种:'Human'},{姓名:'Jalad',物种:'Tamarian'},{名称:'Lwaxana Troi',物种:'Betazoid'},{名称:'Temba',物种:'Tamarian'},{名称:'Kuvma',物种:'Klingon'},{名称:'Lore',物种:'Android'},{名称:'Noonian Soongh',物种:'Human'},{名称:'Darmok',物种:'Tamarian'},{名称:'Reittan Grax',物种:'Betazoid,{名称:'Quark',物种:'Ferengi},
海德斯波特:是的,
列:[{title:'Name',field:'Name',sorter:'string'},{title:'Species',field:'Species',sorter:'string',headerFilter:'multiSelectHeaderFilter},],
});
//document.multiselect(“#speciesSelector”);
.制表器.制表器标题,
.制表器.制表器标题.制表器列
{
溢出:未设置;
}
通过在列定义中添加headerFilterLiveFilter:false
进行修复
列:[{title:'Name',field:'Name',sorter:'string},{title:'Species',field:'Species',sorter:'string',headerFilter:multiSelectHeaderFilter,headerFilterLiveFilter:false},],
通过在列定义中添加
headerFilterLiveFilter:false
进行修复
列:[{title:'Name',field:'Name',sorter:'string},{title:'Species',field:'Species',sorter:'string',headerFilter:multiSelectHeaderFilter,headerFilterLiveFilter:false},],