首页 > 解决方案 > JSON 数据的列格式化程序

问题描述

我试图使用 Tabulator 并找到正确的格式化程序来显示 JSON 对象。如果我将它作为 JSON 传递,则单元格将显示 [Object, Object] 并且如果我在将其作为长文本( textarea )将其字符串化,是否有任何内置的 JSON 数据类型格式化程序?有没有办法将数据显示为 JSON 对象。谢谢

标签: javascriptjsontabulator

解决方案


要基于 Nilesh 的建议,您需要创建一个格式化程序来实现JSON.stringify内置textarea格式化程序的功能和部分:

function jsonFormatter(cell, formatterParams, onRendered){
    cell.getElement().style.whiteSpace = "pre-wrap"; //allow cell to take up multiple lines of text

    return JSON.stringify(cell.getValue(),null,4); //return JSON formatted cell
}

然后,当您将格式化程序附加到列定义中的列时,您还需要设置variableHeight选项以true告诉 Tabulator 此单元格可以根据其内容更改高度,这是确保在表格中正确绘制单元格所必需的/列调整大小

{title:"Example", field:"example", formatter:jsonFormatter, variableHeight:true}

推荐阅读