AG-Grid树状数据结构

AG-Grid tree data structure

我正在从 kendo 树列表移动到 ag 网格树数据网格。我的 table 数据格式如下。但是 Ag 网格期望树中节点的字符串数组中的数据。我怎样才能 use/customize 低于 ag 网格的数据。

[  
   {  
      "fieldId":"A",
      "parentId":null,     
   },
   {  
      "fieldId":"B",
      "parentId":A,     
   },
   {  
      "fieldId":"C",
      "parentId":B,     
   },
]

我能够使用如下所示的 "getDataPath" 为 1 级层次结构创建 ag 网格,但无法理解我如何为更高层次结构做些什么

this.getDataPath = function (data) {
    return [data.parentId, data.fieldId];
};

您需要对其进行循环扫描:

let data = [
  {"fieldId":"A", "parentId":null}, 
  {"fieldId":"B", "parentId":"A"},
  {"fieldId":"C", "parentId":"A"},
  {"fieldId":"D", "parentId":"B"},
  {"fieldId":"E", "parentId":"D"}
];
function getParentLoop(fieldId, path){
  let p = data.filter(i=>i.fieldId == fieldId)[0];
  if(p.parentId){
    path.unshift(p.fieldId);
    return getParentLoop(p.parentId, path)
  } 
  else {
    path.unshift(p.fieldId);
  }
  return path;
}
data.map(i=>{
  i.path=[]
  if(i.parentId){
    i.path.push(i.fieldId);
    getParentLoop(i.parentId, i.path);
  }
  else{
    i.path.push(i.fieldId)
  }
  return i;
});
console.log(data);

this.getDataPath = function (data) {
    return data.path;
};