Che*_*niv 6 javascript react-native
升级到0.26.0-rc版本后,在iOs上这行:
DeviceEventEmitter.addListener('keyboardWillShow', (e)=>this.updateKeyboardSpace(e));
Run Code Online (Sandbox Code Playgroud)
什么也没做.键盘打开时,updateKeyboardSpace永远不会调用方法.
我用这个导入DeviceEventEmitter:
import React from 'react';
import {DeviceEventEmitter} from 'react-native';
Run Code Online (Sandbox Code Playgroud)
我从版本0.21升级,它在那里工作正常.
Dan*_*idt 10
看来你不能再使用这种事件监听器了. 这似乎现在由键盘组件处理,它使用本机库.对于iOS,它在这里定义,事件名称似乎是相同的; 但是,我找不到Android实现.您需要测试这是否有效,但对于iOS,这应该可以解决问题:
import {Keyboard} from 'react-native';
Keyboard.addListener('keyboardWillShow', (e)=>this.updateKeyboardSpace(e));
Run Code Online (Sandbox Code Playgroud)
编辑:
API解释只是内部的.对于正常使用,可以使用ScrollResponder上的回调.你可以使用 onKeyboardWillShow和onKeyboardWillHide.ScrollResponder Mixin用于ScrollView和ListView,因此您可以在那里使用此道具.
在android上,您可以使用这两个事件:
DeviceEventEmitter.addListener('keyboardDidShow', this.keyboardWillShow.bind(this))
DeviceEventEmitter.addListener('keyboardDidHide', this.keyboardWillHide.bind(this))
Run Code Online (Sandbox Code Playgroud)
在0.26.0上测试
| 归档时间: |
|
| 查看次数: |
3978 次 |
| 最近记录: |