TextInput值不支持正确的状态值

时间:2018-03-19 10:49:50

标签: react-native react-native-textinput

我正在尝试构建一个只接受数字作为输入的输入字段。用于解释我的问题的最小组件定义如下

type Props = {};
export default class App extends Component<Props> {
  constructor(props) {
    super(props);
    this.state = {
      text: 'PlaceHolder'
    }
  }

  sanitizeInput(input) {
    let sanitizedInput = input.replace(/[^0-9]/g, '');
    this.setState({text: sanitizedInput});
  }

  render() {
    console.log("In render - ", this.state.text);
    return (
      <View style={{flex: 1, justifyContent: 'center'}}>
        <TextInput
        style={{height: 40, borderColor: 'gray', borderWidth: 1}}
        onChangeText={(text) => this.sanitizeInput(text)}
        value={this.state.text}
      />
      </View>
    );
  }
}

但是,当我执行它时,我没有得到理想的结果。似乎TextInput不尊重传递给它的值prop。 console.log清楚地显示了要在TextInput中显示的所需值,但我无法在设备的TextInput中正确获取该值。

描述我的问题的视频是posted here

0 个答案:

没有答案