每次按键时响应本机TextInput onSubmitEditing触发

时间:2019-01-23 15:46:54

标签: javascript react-native

在下面的代码中,每按一次 键,就会触发onSubmitEditing事件。奇怪的是,如果我注释掉onChangeText事件,则onSubmitEditing有时会酌情仅在返回时才触发。

有人可以解释我该如何做,或者(a)即使在调用onChangeText时,也可以适当地触发onSubmitEditing,或者(b)检索onSubmitEditing事件中输入的文本的值。

render() {
    return (
      <View style={styles.container}>
        <TextInput
          onChangeText={text => this.setState({ text })}
          onSubmitEditing={
            console.log(`onSubmitEditing: ${this.state.text}`)
          }
          placeholder="Enter Text..."
          returnKeyType="done"
          returnKeyLabel="done"
        />
      </View>
    );
  }

我正在使用

"expo": "^32.0.0",
"react": "16.5.0",
"react-native": "0.57.1",

谢谢!

更新:这似乎可行

      onSubmitEditing={a => console.log(`onSubmitEditing: ${this.state.text}`) }

有人可以帮助我了解发生了什么事吗?

1 个答案:

答案 0 :(得分:1)

仅仅是因为onSubmitEditing是支持函数调用的道具。在进行onSubmitEditing={console.log('a')}时,您会丢失绑定,因此在使用箭头功能实现后绑定仍起作用的原因