我正在使用本机反应并在Android上进行测试。我已经在我的TextInput中添加了一个onKeyPress,但是我没有通过单击模拟器中的键盘来触发它(是的,我使用鼠标单击键)。有没有人知道如何让onKeyPress工作或知道另一种方法来检测Android键盘上的输入(完成)键上的按键?
它甚至从未进入它应该调用的函数(searchProducts)。
searchProducts = () => {
if (e.nativeEvent.key == "Enter"){
this.props.searchFunc(this.state.term);
}
}
searchSuggestions = searchTerm => {
if (this.timeoutId)
clearTimeout(this.timeoutId);
this.timeoutId = setTimeout(() => this.props.autofillFunc(searchTerm), 500);
this.setState({
term: searchTerm
});
}
componentDidMount() {
if (this.props.autoFocus) {
this.refs.searchBar.focus();
}
}
render() {
const {placeholder} = this.props;
const autoFocus = this.props.autoFocus;
return (
<View style={styles.searchBar}>
<TouchableHighlight style={{width: '100%'}}>
<View style={styles.searchBar}>
<MBIcon name='ico-24-search' style={styles.searchIcon} />
<TextInput
ref='searchBar'
style={styles.searchInput}
placeholder={placeholder}
onChangeText={this.searchSuggestions}
onKeyPress={this.searchProducts.bind(this)}
underlineColorAndroid="transparent"
/>
</View>
</TouchableHighlight>
</View>
);
}