【发布时间】:2019-11-09 18:36:08
【问题描述】:
我正在尝试将美元符号的前缀以及逗号添加到 ant 设计表中的某些列,其中的数据是从 api 中提取的。
这就是我想要的,我似乎无法为我的生活弄清楚这一点以及其他几件事:
componentDidMount() {
axios.get('https://api.coingecko.com/api/v3/coins/markets?vs_currency=usd&order=market_cap_desc&per_page=250&page=1&sparkline=true&price_change_percentage=24hr')
.then(res => {
const data = res.data;
this.setState({ data })
})
}
render() {
const { data } = this.state;
const tableData = data.map(row => ({
Rank: row.market_cap_rank,
Name: row.name,
Price: row.current_price,
Change: row.price_change_24h,
totalVol: row.total_volume,
marketCap: row.market_cap,
}))
const columns = [{
title: 'Rank',
dataIndex: 'Rank',
key: 'Rank',
}, {
title: 'Name',
dataIndex: 'Name',
key: 'Name',
}, {
title: 'Price',
dataIndex: 'Price',
key: 'Price',
}, {
title: '24hr Change',
dataIndex: 'Change',
key: 'Change',
}, {
title: 'Total Volume',
dataIndex: 'totalVol',
key: 'totalVol',
},
...
<Table rowKey='Name' columns={columns} dataSource={tableData} size="small"/>
我也很清楚,我编写的代码可能会更好,任何提示或建议,例如关于表的密钥或其他任何内容,请告诉我!
【问题讨论】:
-
可以直接使用
data与ant table,无需映射。key应该是 json 对象的实际键。与 Rank 一样,使用market_cap_rank作为键。dataIndex是值所在的位置,在本例中为market_cap_rank。如果它有一个嵌套键value您想在表格中显示,dataIndex将是market_cap_rank.value,但键仍然是market_cap_rank。
标签: javascript reactjs antd