如何使一个React Native TextInput只接受数字,并且只接受数字1到10?

sauutmhj  于 2022-11-25  发布在  React
关注(0)|答案(1)|浏览(128)

如何使React Native TextInput仅接受数字,并使其仅接受数字1到10
例如,说我输入11的值应该自动改变成最大允许的,即10
当我输入0时,这个值应该自动变成允许的最小,即1
到现在为止我所做的唯一一件事是:

<TextInput
style={styles.input}
placeholder="Maximum of 10 passengers only"
maxLength={2}
keyboardType={"numeric"}
/>
ctehm74n

ctehm74n1#

您可以使用此选项:

...
const [value, setValue] = React.useState(0);
....

  React.useEffect(() => {
    if(value === "") {
      return;
    }
    if(+value > 10) {
      setValue(10)
    } else if (value < 1) {
      setValue(1);
    }

  },[value])

<TextInput
      keyboardType='numeric' 
      maxLength={2}
      value={value.toString()} 
      onChangeText={(e) => {
      setValue(e)
    }} />

相关问题