Tabulator实现select类型headerFilter仅展示当前表格数据的筛选项
问题场景
基于Tabulator v5.1.6、jQuery v3.6.0开发前端表格功能时,给列配置headerFilter:'select'实现表头下拉筛选:当设置headerFilterParams: {values: true}时,下拉列表默认加载该列全量可选值,无法仅展示当前表格(包含已筛选后结果集)内实际存在的数据对应选项。
查阅Tabulator官方文档未找到对应内置能力,因此自行编写功能函数实现该需求,启用自定义逻辑后出现两个可稳定复现的异常。
异常详情
- 冻结列兼容报错:列配置
{frozen:true}开启冻结时,触发FrozenColumns.js第295行报错:Uncaught TypeError: Cannot set properties of undefined (setting 'position')
对应报错代码为element.style.position = "absolute"; - 筛选选项合并异常:从表格筛选后的数据中提取值更新
headerFilterParams时,存在对象键被覆盖、下拉选项未正确合并的问题。
诉求
需要获取更简洁规范的动态表头筛选实现方案,或上述两个异常的解决思路。
内容的提问来源于stack exchange,提问作者lukeorriss
相关产品推荐
相关产品推荐

