2017-09-10 12 views
0

私はjsonを持っています。私はそれをag-gridにレンダリングしたい。すべてのフィールドが正しく動作しますが、私はpossible_positionsアイテムを表示できません。何が悪いの?Ag-gridはネストされたjsonを表示しません

[ 
    { 
    "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 
    }... 

答えて

1

あなたは、その列のvalue getterを定義する必要があります。値を取得するデフォルトの方法では、データは配列ではなくネストされたオブジェクトにのみ存在するとみなされます。だからnationality.display_namenat 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 
} 

sourceは、提供されたフィールド名を.に分割し、ブラケット記法を使用してオブジェクトを再帰的に調べます。

関連する問題