在iOS中设置状态时,React Native TextInput不会更新

时间:2018-06-02 06:56:25

标签: ios react-native

我在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本身。

enter image description here

1 个答案:

答案 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}
    />