这是我的当前代码.
<TextField error={values[1].error} fullWidth id="id" type="number" value={values[1].Id} placeholder='Enter ID' onChange={handleChange(1,'Id')} variant="outlined" inputProps={{min: 0,inputMode: 'numeric', pattern: '[0-9]'}} onBlur={() => handleOnBlurEvent(1,'Id')} />
发布于 2022-08-04 08:25:49
正如jonrsharpe所提到的,包含-或e的数字仍然是有效数字。
如果仍然希望限制正在接受的更改,则可以使用自定义handleNumberChange函数来筛选字符,如e、E和-。
const handleNumberChange = (id: number, key: string, value: string) => {
if (["e", "E", "-"].some((char) => value.includes(char))) return;
// handle change here
};在您的MUI <TextField/>中,您可以这样使用它。
<TextField
...
onChange={(e) => handleNumberChange(1, "Id", e.target.value)}
/>https://stackoverflow.com/questions/73232431
复制相似问题