- 问题描述
项目中需要限制 input 只能输入数字和小数点,并且限制到小数点后2位
- 解决方法
使用 Form.Item 中的 getValueFromEvent 属性
<Form.Item
getValueFromEvent={(e: any) => {
const { value } = e.target;
const tempArr = value.split('.');
if (tempArr[1]?.length) {
return `${tempArr[0]}.${tempArr[1].slice(0, 2)}`.replace(/[^\d{1,}\.\d{1,}|\d{1,}]/g, '');
} else {
return value.replace(/[^\d{1,}\.\d{1,}|\d{1,}]/g, '');
}
}}
name="goodsPurchasePrice"
label="指标值"
>
<Input placeholder="请输入"/>
</Form.Item>