为什么 "Enter" 键在 React Native 中不触发 onKeyPress?
Why does the "Enter" key not trigger onKeyPress in React Native?
我在我的文本输入中添加了一个 onKeyPress 事件侦听器,这样当用户在 phone 键盘上单击完成或继续或 "enter" 时,它将调用我的 searchProducts 函数。我希望有一个 onSubmit 类型的事件侦听器选项,但找不到类似的东西,所以现在我只能简单地检查每个按下的键。当按下 'j' 或 'x' 等字符键时,它会触发 onKeyPress 事件并调用我的 searchProducts 函数。但是,当我用鼠标单击完成或按下键盘上的回车键时,没有任何反应。我如何让它触发 onKeyPress 事件侦听器?
searchProducts = (e) => {
if (e.nativeEvent.key == "Enter"){
this.props.searchFunc(this.state.term);
}
}
<TextInput
ref='searchBar'
style={styles.searchInput}
placeholder={placeholder}
onChangeText={this.searchSuggestions}
onKeyPress={this.searchProducts.bind(this)}
underlineColorAndroid="transparent"
/>
您可以使用 onSubmitEditing 即:
Callback that is called when the text input's submit button is
pressed. Invalid if multiline={true} is specified.
按下键盘上的'done'键后调用
onKeyPress 应在您按下 return 键时触发,请检查此页面中是否有其他事件可取消此事件的触发
如果是,请使用
event.stopPropagation()
我在我的文本输入中添加了一个 onKeyPress 事件侦听器,这样当用户在 phone 键盘上单击完成或继续或 "enter" 时,它将调用我的 searchProducts 函数。我希望有一个 onSubmit 类型的事件侦听器选项,但找不到类似的东西,所以现在我只能简单地检查每个按下的键。当按下 'j' 或 'x' 等字符键时,它会触发 onKeyPress 事件并调用我的 searchProducts 函数。但是,当我用鼠标单击完成或按下键盘上的回车键时,没有任何反应。我如何让它触发 onKeyPress 事件侦听器?
searchProducts = (e) => {
if (e.nativeEvent.key == "Enter"){
this.props.searchFunc(this.state.term);
}
}
<TextInput
ref='searchBar'
style={styles.searchInput}
placeholder={placeholder}
onChangeText={this.searchSuggestions}
onKeyPress={this.searchProducts.bind(this)}
underlineColorAndroid="transparent"
/>
您可以使用 onSubmitEditing 即:
Callback that is called when the text input's submit button is pressed. Invalid if multiline={true} is specified.
按下键盘上的'done'键后调用
onKeyPress 应在您按下 return 键时触发,请检查此页面中是否有其他事件可取消此事件的触发 如果是,请使用
event.stopPropagation()