mirror of
https://github.com/ant-design/ant-design.git
synced 2024-12-05 09:49:57 +08:00
93c1614bcf
close #26223 close #19645
47 lines
1.2 KiB
Markdown
47 lines
1.2 KiB
Markdown
---
|
|
order: 4
|
|
title:
|
|
zh-CN: 格式化展示
|
|
en-US: Formatter
|
|
---
|
|
|
|
## zh-CN
|
|
|
|
通过 `formatter` 格式化数字,以展示具有具体含义的数据,往往需要配合 `parser` 一起使用。
|
|
|
|
> 这里有一个更复杂的货币格式化输入框:[https://codesandbox.io/s/currency-wrapper-antd-input-3ynzo](https://codesandbox.io/s/currency-wrapper-antd-input-3ynzo)
|
|
|
|
## en-US
|
|
|
|
Display value within it's situation with `formatter`, and we usually use `parser` at the same time.
|
|
|
|
> Here is a Intl.NumberFormat InputNumber implementation: [https://codesandbox.io/s/currency-wrapper-antd-input-3ynzo](https://codesandbox.io/s/currency-wrapper-antd-input-3ynzo)
|
|
|
|
```jsx
|
|
import { InputNumber } from 'antd';
|
|
|
|
function onChange(value) {
|
|
console.log('changed', value);
|
|
}
|
|
|
|
ReactDOM.render(
|
|
<>
|
|
<InputNumber
|
|
defaultValue={1000}
|
|
formatter={value => `$ ${value}`.replace(/\B(?=(\d{3})+(?!\d))/g, ',')}
|
|
parser={value => value.replace(/\$\s?|(,*)/g, '')}
|
|
onChange={onChange}
|
|
/>
|
|
<InputNumber
|
|
defaultValue={100}
|
|
min={0}
|
|
max={100}
|
|
formatter={value => `${value}%`}
|
|
parser={value => value.replace('%', '')}
|
|
onChange={onChange}
|
|
/>
|
|
</>,
|
|
mountNode,
|
|
);
|
|
```
|