双击空格键快捷方式不适用于TextInput

时间:2019-12-19 03:59:19

标签: javascript reactjs react-native expo

这是一个后续问题。这是上下文的原文: Unable to change state on key press in TextInput component (React Native)

这是到目前为止的代码:

state = {
  text: '',
  words: 0,
  reset: false,
};

updateInput(event) {
  if (this.state.reset) {
    this.setState({
      reset: false,
    });
    return;
  }
  this.setState({
    text: event.nativeEvent.text,
  });
}

<TextInput
  value={this.state.text}
  onChange={this.updateInput.bind(this)}
  onKeyPress={({ nativeEvent }) => {
    if (nativeEvent.key === ' ') {
      this.setState({
        text: '',
        words: this.state.words + 1,
        reset: true,
      });
    }
  }}
  blurOnSubmit={false}
  autoFocus={true}
  autoCorrect={false}
  autoCompleteType={false}
  allowFontScaling={true}
  keyboardType="default"
  keyboardAppearance="dark"
  onSubmitEditing={event => {
    event.preventDefault();
    this.setState({
      text: '',
      words: this.state.words + 1,
    });
  }}

基本上,它在用户按下空格键并增加TextInput状态后清除words

按原样,空格键点按两次快捷键不起作用。相反,我认为这是在句点出现之前清除TextInput

但是,当我注释掉value={this.state.text}时,会出现句号。为什么会这样?

我想清除之后出现的TextInput 并捕获包括该期间的值。我该怎么办?

0 个答案:

没有答案