Javascript 如何在角度ag栅格中显示子阵列
代码如下:Javascript 如何在角度ag栅格中显示子阵列,javascript,angular,typescript,ag-grid,Javascript,Angular,Typescript,Ag Grid,代码如下: rowData = [{ room: 'Room 1', data: [{ name: 'justin' },{ name: 'josh' }]; },{ room: 'Room 2', data: [{ name: 'juan' },{ name: 'luna' }]; }]; columnDefs = [{ headerName: 'Room', field: 'room' },{ headerName:
rowData = [{
room: 'Room 1',
data: [{
name: 'justin'
},{
name: 'josh'
}];
},{
room: 'Room 2',
data: [{
name: 'juan'
},{
name: 'luna'
}];
}];
columnDefs = [{
headerName: 'Room',
field: 'room'
},{
headerName: 'Name',
field: 'name'
}]
HTML
它返回未定义的
params.data.data[0]。name
是正确的表达式
因为行中的数据属性实际上是名称数组。你也可以开一张支票,比如
if(params.data.data&¶ms.data.data.length>0){
返回params.data.data[0].name;
}否则{
返回“”;
}
params.data.data[0]。name
是正确的表达式
因为行中的数据属性实际上是名称数组。你也可以开一张支票,比如
if(params.data.data&¶ms.data.data.length>0){
返回params.data.data[0].name;
}否则{
返回“”;
}
'data.name'
valueGetter:this.customValueGetter
customValueGetter
像-customValueGetter(参数){
常数项;
const columnField=params.colDef.field;
常量arrayNm=columnField.split(“.”[0];
const fieldNm=columnField.split(“.”[1];
if(params.data&¶ms.data[arrayNm]){
params.data[arrayNm].forEach((项)=>items.push(项[fieldNm]);
}
return items.join(“,”;//逗号分隔的名称
}
'data.name'
valueGetter:this.customValueGetter
customValueGetter
像-customValueGetter(参数){
常数项;
const columnField=params.colDef.field;
常量arrayNm=columnField.split(“.”[0];
const fieldNm=columnField.split(“.”[1];
if(params.data&¶ms.data[arrayNm]){
params.data[arrayNm].forEach((项)=>items.push(项[fieldNm]);
}
return items.join(“,”;//逗号分隔的名称
}
<ag-grid-angular
#agGrid
style="width: 100%; height: 100%;"
id="myGrid"
class="ag-theme-alpine-dark"
[columnDefs]="columnDefs"
[rowData]="rowData"
(gridReady)="onGridReady($event)"
></ag-grid-angular>
valueGetter: function(params: any) {
return console.log(params.data.data.name);
}
customValueGetter(params) {
const items;
const columnField = params.colDef.field;
const arrayNm = columnField.split(".")[0];
const fieldNm = columnField.split(".")[1];
if(params.data && params.data[arrayNm]) {
params.data[arrayNm].forEach((item) => items.push(item[fieldNm]));
}
return items.join(","); //comma separated names
}