Javascript Ag grid:数组对象值未正确显示
如何在单元格中加载以下数组对象标记“name”值 这里的对象看起来像Javascript Ag grid:数组对象值未正确显示,javascript,html,angular,typescript,ag-grid,Javascript,Html,Angular,Typescript,Ag Grid,如何在单元格中加载以下数组对象标记“name”值 这里的对象看起来像 { id: "1" mark: [ 0: {name: "AUS", id: 1000} 1: {name: "BRA", id: 1050} 2: {name: "CHN", id: 1100} 3: {name: "ECE", id: 1200} 4: {name: "EG", id: 1250} 5:
{
id: "1"
mark: [
0: {name: "AUS", id: 1000}
1: {name: "BRA", id: 1050}
2: {name: "CHN", id: 1100}
3: {name: "ECE", id: 1200}
4: {name: "EG", id: 1250}
5: {name: "JAP", id: 1450}
6: {name: "RUS", id: 1500}
]
}
HTML
<ag-grid-angular #agGrid style="width: 100%; height: 100%;" id="myGrid" class="ag-theme-balham cis-ag-grid"
[columnDefs]="columnDefs" [defaultColDef]="defaultColDef" [rowSelection]="rowSelection" [rowData]="rowData"
[context]="context" [frameworkComponents]="frameworkComponents" (selectionChanged)="onSelectionChanged()"
(rowClicked)='onRowClicked($event)' (gridReady)="onGridReady($event)" [gridOptions]="gridOptions">
</ag-grid-angular>
当前,它显示在网格列单元格中,如
ID Mark
--------------
1 [object Object], [object Object], [object Object], [object Object],
[object Object], [object Object], [object Object]
预期为,
ID Mark
--------------
1 AUS, BRA, CHN, ECE, EG,JAP,RUS
由于没有提供任何HTML代码,您可以尝试:
<span *ngFor="let obj of data.mark">
{{ obj.name }},
</span>
{{obj.name}},
在HTML列中
它以
[object object]
的形式出现,因为它是一个对象({name:“AUS”,id:1000}
)。您可以将管道作为|json
放在{{obj|json}}
中来可视化它,因为没有提供任何HTML代码,您可以尝试:
<span *ngFor="let obj of data.mark">
{{ obj.name }},
</span>
{{obj.name}},
在HTML列中
它以
[object object]
的形式出现,因为它是一个对象({name:“AUS”,id:1000}
)。您可以将管道作为|json
放在{obj | json}}
中,将其可视化,因为没有提供html,因此可复制的plunker或stackblitz将有所帮助。
试着这样做:
<div *ngFor="let data of dataList">
<span *ngFor="let item of data.mark">
{{ item .name }},
</span>
</div>
{{item.name},
没有提供html,因此可复制的plunker或stackblitz会有所帮助。
试着这样做:
<div *ngFor="let data of dataList">
<span *ngFor="let item of data.mark">
{{ item .name }},
</span>
</div>
{{item.name},
请尝试为Ag grid执行此操作
设置列:-
constructor() {
this.columnDefs = [
{
headerName: 'Id', sortable: true, resizable: true, valueGetter: 'data.mark.id'
},
{
headerName: 'Mark', sortable: true, resizable: true, valueGetter: 'data.mark.name'
}
]
}
在typescript文件中:-
public dataMarkList:any;
constructor() {
}
yourGetFunction() {
this.dataMarkList = data.mark
}
并在ag网格中设置rowData
属性
<ag-grid-angular class="ag-theme-material" style="width: 100%; height: calc(100vh - 200px);" rowSelection="single"
animateRows="true" [rowHeight]="43" [columnDefs]="columnDefs" rowModelType="infinite"
paginationPageSize="50" [rowData]="dataMarkList">
</ag-grid-angular>
请尝试为Ag grid执行此操作 设置列:-
constructor() {
this.columnDefs = [
{
headerName: 'Id', sortable: true, resizable: true, valueGetter: 'data.mark.id'
},
{
headerName: 'Mark', sortable: true, resizable: true, valueGetter: 'data.mark.name'
}
]
}
在typescript文件中:-
public dataMarkList:any;
constructor() {
}
yourGetFunction() {
this.dataMarkList = data.mark
}
并在ag网格中设置rowData
属性
<ag-grid-angular class="ag-theme-material" style="width: 100%; height: calc(100vh - 200px);" rowSelection="single"
animateRows="true" [rowHeight]="43" [columnDefs]="columnDefs" rowModelType="infinite"
paginationPageSize="50" [rowData]="dataMarkList">
</ag-grid-angular>
我过去常常这样做。我使用Vue而不是角度。这就是我在Vue中所做的
我创建了一个名为CellRenderList.vue的Cell渲染器
组件文件,并将其导入父级。用于在父文件中定义字段
headerName: 'SomeName',
field: 'mark',
cellRendererFramework: 'CellRendererList',
导入组件并添加单元渲染器行应该是对原始文件执行的唯一操作
我的CellRenderList.vue
组件文件如下所示
<template>
<div class="">
<span v-for="(value, index) in mark">
<span v-if="index != 0">, </span><span>{{ value.name }}</span>
</span>
</div>
</template>
<script>
export default {
name: 'CellRendererList',
computed: {
mark() {
return this.params.data.mark
}
}
}
</script>
,{value.name}
导出默认值{
名称:“CellRenderList”,
计算:{
马克(){
返回此.params.data.mark
}
}
}
关于单元渲染器的Ag网格文档中有一些很好的示例,说明了如何以角度进行渲染。。我使用Vue而不是角度。这就是我在Vue中所做的
我创建了一个名为CellRenderList.vue的Cell渲染器
组件文件,并将其导入父级。用于在父文件中定义字段
headerName: 'SomeName',
field: 'mark',
cellRendererFramework: 'CellRendererList',
导入组件并添加单元渲染器行应该是对原始文件执行的唯一操作
我的CellRenderList.vue
组件文件如下所示
<template>
<div class="">
<span v-for="(value, index) in mark">
<span v-if="index != 0">, </span><span>{{ value.name }}</span>
</span>
</div>
</template>
<script>
export default {
name: 'CellRendererList',
computed: {
mark() {
return this.params.data.mark
}
}
}
</script>
,{value.name}
导出默认值{
名称:“CellRenderList”,
计算:{
马克(){
返回此.params.data.mark
}
}
}
关于单元渲染器的Ag网格文档有一些很好的示例,说明了如何使用Angular进行渲染。显示HTML文件和组件代码更新文章,并获得预期结果,我问的是.html
和.ts
文件。更新了post html和tsShow html文件和组件代码以预期的结果更新了post。我问的是.html
和.ts
文件。更新了post html和tsI使用ag grid指令。不是htmlI,我使用ag grid指令。不是HTMLU更新帖子。我正在使用ag grid指令。更新帖子。我使用的是ag grid指令。请为[rowData]=“dataMarkList”提供正确的代码。这是行不通的。此外,列筛选器数据未根据网格数据进行更新。请为此[rowData]=“dataMarkList”提供正确的代码。这是行不通的。此外,列筛选器数据未基于网格数据进行更新。