有没有办法从react的material-table中删除货币前缀呢?因为我在表中使用了不同的货币,所以只使用一个前缀会让人感到困惑,因为我有一个不同的列来显示货币类型
感谢您的帮助,谢谢!
下面是用于创建表的源代码的一部分,我从一个API端点获取数据
<MaterialTable style={{marginLeft:'10px', marginRight:'10px'}}
title="INVOICES"
columns={[
{ title: 'Seller Name', field: 'seller' },
{ title: 'Buyer Name', field: 'buyer' },
{ title: 'Invoice No', field: 'invoice_number' },
{ title: 'Currency', field: 'currency' },
{ title: 'Amount', field: 'invoice_amount', type:'currency', currencySetting:{ currencyCode:'USD', minimumFractionDigits:0, maximumFractionDigits:2}},
{ title: 'Invoice Date', field: 'invoice_date' },
{ title: 'Eligible Date', field: 'date_eligible' },
{ title: 'Due Date', field: 'due_date' },
{ title: 'Status', field: 'status' },
]}
data={this.state.stats}
发布于 2020-06-08 19:17:05
我没有使用material-table,但我玩了一下。这是产生错误的material-table的源代码:
Intl.NumberFormat(currencySetting.locale !== undefined ? currencySetting.locale : 'en-US', {
style: 'currency',
currency: currencySetting.currencyCode !== undefined ? currencySetting.currencyCode : 'USD',
minimumFractionDigits: currencySetting.minimumFractionDigits !== undefined ? currencySetting.minimumFractionDigits : 2,
maximumFractionDigits: currencySetting.maximumFractionDigits !== undefined ? currencySetting.maximumFractionDigits : 2
}).format(value !== undefined ? value : 0);它使用Intl.NumberFormat标准的Javascript函数来格式化货币。此功能支持47个国家/地区。你可以在这里使用这个函数:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/NumberFormat
例如,对于匈牙利(我的国家),我可以这样调用它:
new Intl.NumberFormat('hu', { style: 'currency', currency: 'huf' }).format(number);因此,我应该将columnDefinition更改为:
{ title: 'Amount', field: 'invoice_amount', type:'currency', currencySetting:{ locale: 'hu',currencyCode:'huf', minimumFractionDigits:0, maximumFractionDigits:2}},请注意,我添加了一个区域设置:'hu‘,并将currencyCode更改为'huf’。
如果您的国家/地区不在支持的国家/地区中。尝试其他具有类似格式的内容。
https://stackoverflow.com/questions/62257842
复制相似问题