【发布时间】:2020-05-16 00:30:50
【问题描述】:
我需要在关闭键盘时使用 setState 关闭视图。在 TextInput 中使用 onBlur 事件,它工作正常。但是在android中按下硬件后退按钮,键盘也在关闭。但是 onBlur 事件还没有被调用。 TextInput 仍然集中,但键盘关闭。 对于反手,我使用以下代码,
componentWillMount() {
BackHandler.addEventListener('hardwareBackPress', this.handleBackPress);
}
handleBackPress = () => {
console.log("HANDLE BACK PRESSS")
return true;
}
我还尝试了以下方法 - Keyboard.addListener
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');
}
但是没有用。当键盘处于打开状态时,这些事情不会触发。键盘关闭后,一切正常。
建议一些在键盘处于打开状态时按下后退按钮时触发的方法。
【问题讨论】:
-
你找到出路了吗?
标签: javascript android reactjs react-native keyboard