我需要使用setState关闭视图,同时关闭键盘。在TextInput中使用onBlur事件,效果很好。但是在Android上,按下硬件返回按钮也会关闭键盘。但onBlur事件没有被调用。TextInput仍然处于焦点状态,但键盘却关闭了。 对于后备操作,我正在使用以下代码:
componentWillMount() {
BackHandler.addEventListener('hardwareBackPress', this.handleBackPress);
}
handleBackPress = () => {
console.log("HANDLE BACK PRESSS")
return true;
}
componentWillMount () {
this.keyboardDidShowListener = Keyboard.addListener('keyboardDidShow', this._keyboardDidShow);
this.keyboardDidHideListener = Keyboard.addListener('keyboardDidHide', this._keyboardDidHide);
}
componentWillUnmount() {
this.keyboardDidShowListener.remove();
this.keyboardDidHideListener.remove();
}
_keyboardDidShow() {
alert('Keyboard Shown');
}
_keyboardDidHide = () => {
alert('Keyboard Hidden');
}
但是没有用。当键盘处于打开状态时,这些事情不会被触发。在键盘关闭后,一切都按预期工作。
建议提供一种方法,在键盘处于打开状态时按“返回”按钮触发事件。