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