【问题标题】:Is there a way to return cell data as a tooltip in Tabulator (v5.0.7)有没有办法在 Tabulator (v5.0.7) 中将单元格数据作为工具提示返回
【发布时间】:2022-01-18 18:20:13
【问题描述】:

首先我想说我绝不是 JavaScript 方面的专家,所以如果我遗漏了一些明显的东西,请提前道歉。

示例: 我正在尝试为 A 列创建自定义工具提示。使用来自另一个单元格的数据作为 A 列工具提示输出的参数。

{title: "title", tooltip: function(cell) {return anotherfunction(cell)}...

当将“单元格”作为参数传递时,可以查看console.log(cell._cell) 行的其余部分中的信息,但据我发现,无法访问其余数据。

这是我遇到的问题的代码笔(我在示例中注释掉了console.log(cell._cell.value),因为这会使表格无法呈现。所以,查看浏览器控制台,有可能查看从console.log(cell._cell) 返回的数据。

我曾尝试使用制表符 cell.getData()cell.getRow()cell.getColumn() 等(以及许多其他工具),但每个都会导致错误。

代码笔 https://codepen.io/lukeorriss/pen/yLzMapg

如果有人能指出正确的方向,以便从工具提示功能访问另一行中的数据,那就太好了。提前谢谢大家。

【问题讨论】:

    标签: javascript tabulator


    【解决方案1】:

    Tabulator 使用 2 种类型的工具提示定义。

    1. ColumnComponent(标题单元格)
    2. 单元格(数据单元格)

    所以你必须为你的formatTooltip 函数设置一个条件

    function formatTooltip(cell) {
       // Need to open browser console log to view this.
       if (cell._cell) {
           let { name, email, address } = cell.getData();
           return `You are ${name}, your email is ${email} and address is ${address}`;
       } else if (cell.type === "ColumnComponent") {
           return cell.getField();
    }
    

    查看我的Codepen

    【讨论】:

    • 嗨双 H,谢谢你。它完美无缺。我已接受您的解决方案作为答案。
    • 虽然这是一个很好的解决方法,但我相信它仍然是 v5.0 中的一个错误。您应该能够在单元格对象上调用 getData() 以获取行数据,就像它在 v4.9.3 中一样。这是一个例子:codepen.io/izmirli/pen/wvrdQoP
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-10-04
    • 2013-02-13
    • 1970-01-01
    • 2011-05-07
    • 1970-01-01
    相关资源
    最近更新 更多