在 React 中使用最小值和最大值验证创建数字输入

在 React 中使用最小值和最大值验证创建数字输入

Create numeric input with Min and Max validation in React

要在 React 中创建具有最小和最大验证的数字输入:

  1. 定义一个type设置为 的输入number
  2. onChange在输入字段上设置事件处理程序。
  3. 每次值更改时,将一个从最小值到最大值的数字分配给状态变量。

数字输入最小最大

应用程序.js
import {useState} from 'react'; const App = () => { const min = 1; const max = 100; const [value, setValue] = useState(1); const handleChange = event => { const value = Math.max(min, Math.min(max, Number(event.target.value))); setValue(value); }; console.log(value); console.log(typeof value); return ( <div> <h2>Min 1 / Max 100</h2> <h3>1500 / -50</h3> <input type="number" placeholder="Your fav number" value={value} onChange={handleChange} /> </div> ); }; export default App;

我们使用useState钩子将值保存在组件的状态中。

每次输入类型的值number发生变化时,我们都使用
Math.max
函数获取从
minup 到 的数字max

Math.max函数接受零个或多个数字并返回给定数字中的最大值。

我们使用
Math.minmax函数来获取介于预定义值和用户输入值
之间的数字。

Math.min函数返回零个或多个提供的数字中的最小值。

上面的例子只允许1和之间的数字100

如果用户试图输入一个小于 的数字1,我们只需将预定义min值设置为状态变量。

另一方面,如果用户尝试输入比 更大的值max,我们将状态变量设置为预定义的max

在所有其他情况下,状态变量设置为用户提供的数字。

我还写了一篇关于
如何创建纯数字输入字段的文章。