1

我正在使用一个名为 Tabulator 的库,它允许您做的一件事是在将数据推入表格时对其进行编辑。

我们使用的日期使用长日期格式,看起来像这样:2018-07-24T04:00:00.000Z. 我在表格中使用格式化程序使其看起来像这样:2018-07-24。这只是对字符串进行切片。

问题是 - 当有人试图下载 pdf 文件时,它仍然以长格式显示日期 - 这需要修复。我尝试了 Tabulators 官方网站显示的所有方式,但对我没有任何作用。我似乎无法弄清楚这样做的正确方法,也许这里有人在这里有一些经验并可以与我分享?仅供参考格式化程序如下所示:

{
    title: "Due",
    field: "duedate",
    width: 80,
    formatter: function (cell, formatterParams) {
        var toRet = 'No Date';
        if (cell.getValue() != null) toRet = cell.getValue().slice(0, 10)
        return toRet;
    }
}

本质上我需要相同的逻辑 - 获取单元格值并在下载时对其进行切片,或者在数据被推入表格时执行此操作并一起省略格式化程序。

PS我知道我可以在推送数据和切片所需字段之前遍历数组,但正在寻找更优雅的解决方案。

4

1 回答 1

1

只要您使用的是 3.4 或更高版本,您就可以使用下载访问器为您执行此操作:

{
    title: "Due",
    field: "duedate",
    width: 80,
    accessorDownload : function (value, data, type, params, column) {
        var toRet = 'No Date';
        if (value != null) toRet = value.slice(0, 10)
        return toRet;
    }
}

它将数据加载到下载扩展中时进行转换

于 2018-09-24T20:32:49.037 回答