-
Notifications
You must be signed in to change notification settings - Fork 3
Expand file tree
/
Copy pathBasicInputNumber.tsx
More file actions
49 lines (44 loc) · 1.28 KB
/
BasicInputNumber.tsx
File metadata and controls
49 lines (44 loc) · 1.28 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
import classnames from 'classnames';
import { BasicInputNumberStyleWrapper } from './style';
import { ComponentControlHeight } from '../../data/common';
import { BasicInputNumberProps } from './BasicInputNumber.types';
import { ConfigProvider } from 'antd';
import { useMemo } from 'react';
import { InputNumberProps } from 'antd';
const BasicInputNumber: React.FC<BasicInputNumberProps> = (props) => {
const { className, integer, ...params } = props;
const inputNumberProps: InputNumberProps = useMemo(() => {
if (integer) {
return {
formatter: (value) => {
if (!value) {
return '';
}
return `${Math.floor(value as number)}`;
},
...params
};
}
return params;
}, [integer, params]);
return (
<ConfigProvider
theme={{
components: {
InputNumber: {
controlHeight: ComponentControlHeight.default,
controlHeightLG: ComponentControlHeight.lg,
controlHeightSM: ComponentControlHeight.sm
}
}
}}
>
<BasicInputNumberStyleWrapper
size="large"
className={classnames('basic-inputNumber-wrapper', className)}
{...inputNumberProps}
/>
</ConfigProvider>
);
};
export default BasicInputNumber;