如何在React-Native中仅获得数字键盘?

时间:2019-12-25 15:57:33

标签: android ios react-native

我的目标是只获得不带标点的数字键盘。 number-pad不能在所有设备上正常工作,它还允许输入符号“-,_”。那不是我想要的。我注意到,当在TextInput上将secureTextEntry设置为true时,键盘就是我想要的键盘,但是由于我的文本被遮罩了,所以我不能像这样使用它。所以我想知道有没有一种方法可以使用该键盘而不掩盖文本?也许存在本机代码中的黑客行为?

所需键盘的屏幕 enter image description here

数字键盘无法在所有设备上正常工作! 这是荣誉8X上的数字 enter image description here

5 个答案:

答案 0 :(得分:3)

您可以尝试以下方法:

keyboardType={Device.isAndroid ? "numeric" : "number-pad"}

更多内容:click here

答案 1 :(得分:1)

根据文档

您可以这样做:

keyboardType={Platform.OS === 'ios'? "number-pad":"numeric"}

希望有帮助。毫无疑问

答案 2 :(得分:1)

您可以尝试这样做- keyboardType = {Platform.OS ==='android'吗? “ numeric”:“数字键盘”} 然后在onChangeText的方法调用中执行以下操作:

** const trimNumber = number.replace(/ [^ 0-9] / g,“”);

this.setState({   trimNumber }); **

它是TextInput的价值支持

value = {this.state.trimNumber}

由于该用户无法提供任何标点符号,因此我们限制输入。

答案 3 :(得分:0)

在 IOS 中显示数字键盘与原始问题中的图片相同。并同时使用 returnKeyType

keyboardType={Platform.OS === 'android' ? "numeric" : "numbers-and-punctuation"}

答案 4 :(得分:-1)

<块引用>

此键盘仅适用于 secureText secureTextEntry={true}

代码

<Input keyboardType={Device.isAndroid ? "numeric" : "number-pad"}
       secureTextEntry={true} />