我需要在关闭键盘的同时使用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');
}
但是没有用。键盘处于打开状态时,不会触发这些操作。键盘关闭后,一切正常。
建议在键盘处于打开状态时按下后退按钮时获取触发器的某种方法。
尝试一下:
从'react-native'导入{键盘}
componentDidMount() {
this.keyboardDidHideListener = Keyboard.addListener('keyboardDidHide',
this.keyboardDidHide);
}
componentWillUnmount() {
this.keyboardDidHideListener.remove();
}
keyboardDidHide = () => {
Keyboard.dismiss();
};