1

如果我有从数据库获取的对象列表

[{ "id":0 ,"name":"John", "lastname":"Shell" },{ "id":1,...];

这导致(可动态插件):

 data : JSON.stringify(data)
 success: function(data,status){ 
          $('#table').dynatable({
            dataset:{
              records:data
            }
          })
        }

但我不想在 html 中生成表格时在“th”上显示id,而是想在不更改实际 JSON 的情况下将其重命名为securityNumber

      <table id="tabela">
        <thead>
           <th>id</th>
           <th>name<th>
           <th>last_name<th>
        </thead>
      </table>

我不能只替换 id 因为插件通过 JSON 对象的属性识别列名

我尝试了不同的插件,我正在使用 dynatable(已经在文档中搜索过),但我对另一种解决方案持开放态度。

我该如何进行?

4

1 回答 1

1

您可以添加自定义格式设置方法textTransform并在那里编写列名的映射。在此处查看文档。

这种方法的一个例子可能是

dynatable.utility.textTransform.customColumnName = function(text) {
  if (text) === 'id' return 'security_number'
  return text
}

或者,您可以在不更改源 JSON 的情况下转换数组Array.map,例如:

...
records: data.map((item) => {
  return {
    security_number: item.id,
    name: item.name,
    last_name: item.last_name
  }
}),
...
于 2018-03-13T21:31:10.347 回答