antd输入框 只能输数字
时间: 2024-09-28 11:03:30 浏览: 50
在Ant Design (antd) 中,如果想要限制React Input组件只能输入数字,你可以利用`InputNumber`组件或者自定义`input.onChange`事件的验证。以下是两种常见方法:
1. 使用`InputNumber`组件:
```jsx
import { InputNumber } from 'antd';
<InputNumber
placeholder="请输入数字"
allowClear={false}
min={0} // 设置最小值,可以为空
max={100} // 设置最大值,可以为空
/>
```
这个组件已经内置了数字输入的限制。
2. 自定义`onChange`事件:
```jsx
import React, { useState } from 'react';
import { Input } from 'antd';
const MyInput = () => {
const [value, setValue] = useState('');
const handleChange = (e) => {
const inputValue = e.target.value;
if (/^\d*$/.test(inputValue)) { // 正则表达式检查是否全为数字
setValue(inputValue);
} else {
e.preventDefault(); // 阻止默认行为,防止非数字字符输入
alert('请输入数字');
}
};
return (
<Input
onChange={handleChange}
placeholder="请输入数字"
/>
);
};
<MyInput />
```
这里通过正则表达式检查输入是否只包含数字,并在不符合条件时阻止输入或给出提示。
阅读全文