我在iOS中遇到此问题,在此链接上做了同样的事情React Native TextInput that only accepts numeric characters 但在iOS deivce中并没有解决问题
通过设置不反映在TextInput中的状态进行更改,下面是我的代码:
constructor(props) {
super(props);
this.state = {
enteredMobile: '',
};}
onChanged(text){
this.setState({
enteredMobile: text.replace(/[^0-9]/g, ''),
});
}
我的文字输入
<TextInput
placeholderTextColor="lightgrey"
placeholder="Enter mobile no."
keyboardType = 'numeric'
maxLength={10}
style={{height: 40,top:140, left :94,width:500, borderColor: 'white', borderWidth: 1}}
onChangeText={(text) => this.onChanged(text)}
value = {this.state.enteredMobile}
/>
您可以在表格下方的图片中看到更新的图片,但不会更新TextInput本身。
答案 0 :(得分:0)
Pankaj你必须在onChanged
函数中使用ES6 JS进行编码,因为有时它在ES5语法中不起作用。
试试这个
constructor(props) {
super(props);
this.state = {
enteredMobile: '',
};
}
onChanged = (text) => {
this.setState({
enteredMobile: text.replace(/[^0-9]/g, ''),
});
}
我的文字输入
<TextInput
placeholderTextColor="lightgrey"
placeholder="Enter mobile no."
keyboardType = 'numeric'
maxLength={10}
style={{height: 40,top:140, left :94,width:500, borderColor: 'white', borderWidth: 1}}
onChangeText={(text) => this.onChanged(text)}
value = {this.state.enteredMobile}
/>