我正在尝试将ag网格与提供以下代码的api一起使用
{
"rates": {
"btc": {
"name": "Bitcoin",
"unit": "BTC",
"value": 1,
"type": "crypto"
},
(snip)
}
我的ag网格是以以下方式设置的
<AgGridReact
rowSelection="multiple"
rowData={rowData}>
<AgGridColumn field="btc" filter={true} checkboxSelection={true} sortable={true}></AgGridColumn>
<AgGridColumn field="eth" filter={true} checkboxSelection={true} sortable={true}></AgGridColumn>
<AgGridColumn field="ltc" filter={true} checkboxSelection={true} sortable={true}></AgGridColumn>
</AgGridReact>
到目前为止,这给了我一个错误。我不明白为什么,因为当我使用不同的api时,代码运行良好。另一个api返回以下
{
"id": 1,
"name": "Leanne Graham",
"username": "Bret",
"email": "Sincere@april.biz",
"address": {
"street": "Kulas Light",
"suite": "Apt. 556",
"city": "Gwenborough",
"zipcode": "92998-3874",
"geo": {
"lat": "-37.3159",
"lng": "81.1496"
}
我的工作网格是以以下方式设置的
<AgGridReact
rowSelection="multiple"
rowData={rowData}>
<AgGridColumn field="name" filter={true} checkboxSelection={true} sortable={true}></AgGridColumn>
<AgGridColumn field="phone" filter={true} checkboxSelection={true} sortable={true}></AgGridColumn>
<AgGridColumn field="email" filter={true} checkboxSelection={true} sortable={true}></AgGridColumn>
</AgGridReact>
我注意到不同之处在于,工作api是一个对象数组,而不工作的是一个带有嵌套对象的对象。
这里有完整的代码供任何人查看
提前感谢你的帮助。
我在这里放了一个代码演示,并做了一些更改:
-
";btc"eth";,以及";ltc";是对象本身,而不是简单的字段,所以将它们作为列没有多大意义。也许你想对这些对象进行迭代,并查看它们的";name"单元"值";,以及";类型";相反我已经用后4列替换了这些列。
-
这些对象位于具有单个字段的对象内部:;费率";。因此,在上一次
.then()
中,您必须进行let rates = rowData.rates
但是
rates
仍然是一个对象,而不是一个数组。所以你还必须使用let newRowData = Object.values(rates)
这个CCD_ 3变量是一个对象数组;btc"eth"ltc";,等等,就像这样:
[{ "name": "Bitcoin", "unit": "BTC", "value": 1.0, "type": "crypto" }, { "name": "Ether", "unit": "ETH", "value": 33.13, "type": "crypto" }, ... }]
-
最后,我将
console.log()
放在最后一个.then()
中,因为fetch()
是异步的,并且不能保证console.log(rowData)
会在控制台上打印新获取的数据。