我在我的react项目中使用了antD,我使用antD的inputNumber组件来获取输入,我想要的只是整数输入,并希望防止来自所有来源的所有其他输入,如复制粘贴、键盘。有办法做到这一点吗?
您应该将输入值的状态变量定义为
const [userInput, setUserInput] = React.useState('');
onChange={(e) => {
//remove letters from input
setUserInput(e.target.value.replace(/[^0-9]/g, ''))
}}
你可以使用这种方法,但如果值类似于"0",它将设置没有字母的值;user123"->quot;123〃;
如果你想阻止输入动作,即使存在1个字母,那么你可以这样使用:
onChange={(e) => {
// test regexp to prevent letters
const regex = new RegExp('^[0-9]+$');
if(regex.test(e.target.value)) {
setUserInput(e.target.value);
}
}}