Tabulator v5配置列tooltip时调用cell.getData提示函数不存在如何解决
问题原因
Tabulator 5.x 对tooltip相关配置做了不兼容变更:v4版本中列配置的tooltip属性默认作用于单元格,回调入参为CellComponent;v5版本中该属性默认作用于列头部,因此回调入参为ColumnComponent,不存在getData方法,无法获取行数据。
解决方案
两种可行修正方式,推荐使用第一种,语义更清晰:
方式1:替换为单元格专属tooltip配置
将列配置中的tooltip字段改为cellTooltip,该配置专门作用于单元格,回调入参为官方文档标注的CellComponent对象,可正常调用getData获取整行数据。
修改后的代码示例:
var table = new Tabulator("#table", { ... columns: [ { title:'test', field:'test', // 将tooltip替换为cellTooltip cellTooltip: function(cell) { return cell.getData().someProperty; // 可正常读取行属性 }, }, ], ... })
方式2:切换tooltip默认作用范围
如果需要兼容v4的原有写法,可以在Tabulator初始化时添加tooltipGenerationMode配置,指定tooltip默认作用于单元格:
var table = new Tabulator("#table", { tooltipGenerationMode: 'cell', // 新增该行配置 ... columns: [ { title:'test', field:'test', tooltip: function(cell) { return cell.getData().someProperty; // 原有写法可正常生效 }, }, ], ... })
内容的提问来源于stack exchange,提问作者wivku
相关产品推荐
相关产品推荐

