Ag-grid 不显示嵌套 json

Ag-grid not display nested json

我有json。我想将它渲染到 ag-grid。所有字段都正常工作,但我无法呈现 possible_positions 项。我做错了什么?

[
  {
    "id": 1,
    "surname": "Иванов",
    "stop_sheet_status_id": 1,
    "status_treatment": {
      "id": 1,
      "display_name": "active",
      "created_at": "2017-09-08T06:50:19.043Z",
      "updated_at": "2017-09-08T06:50:19.043Z"
    },
    "nationality": {
      "id": 1,
      "display_name": "nationality",
      "created_at": "2017-09-08T06:50:16.441Z",
      "updated_at": "2017-09-08T06:50:16.441Z"
    },
    "possible_positions": [
      {
        "id": 1,
        "display_name": "programmer",
        "created_at": "2017-09-08T06:50:17.883Z",
        "updated_at": "2017-09-08T06:50:17.883Z"
      },
      {
        "id": 2,
        "display_name": "engineer",
        "created_at": "2017-09-08T06:50:17.964Z",
        "updated_at": "2017-09-08T06:50:17.964Z"
      },
      {
        "id": 3,
        "display_name": "worker",
        "created_at": "2017-09-08T06:50:18.053Z",
        "updated_at": "2017-09-08T06:50:18.053Z"
      }
    ]
  }
]

example.js

 {
       headerName: "treatment date", field: "treatment_date",
       width: 100, pinned: true
    },
    {
      headerName: "nat display ", field: "nationality.display_name",
      width: 180, pinned: true
    },
    {
      headerName: "position", field: 
      "possible_positions[0].display_name",
      width: 180, pinned: true
    }...

您需要为该列定义 value getter。获取值的默认方法假定数据仅在嵌套对象中,而不是数组中。这就是为什么 nationality.display_name 适用于列 nat display.

这就是定义 valueGetter 的方式

{
  headerName: "position", 
  valueGetter: params => params.data.possible_positions[0].display_name,
  width: 180, pinned: true
}

实际上,查看源代码,您可能能够摆脱这个:

{
  headerName: "position", field: 
  "possible_positions.0.display_name",
  width: 180, pinned: true
}

由于源在 . 上拆分了提供的字段名称,然后使用括号表示法递归地挖掘对象。