ReactNative之键盘Keyboard的弹出与消失示例


Posted in Javascript onJuly 11, 2017

在开发中经常遇到需要输入的地方,所以就学习了一下ReactNative键盘Keyboard的弹出与消失的方法,留个笔记。

今天我们来说下RN对键盘事件的支持。

在React-native 的Component组件中有个Keyboard.

github地址如下:https://github.com/facebook/react-native/tree/770091f3c13f7c1bd77c50f979d89a774001fbf0/Libraries/Components/Keyboard

我们先来看下官方提供的例子,监听键盘的弹出与消失。Demo如下:

import React, { Component } from 'react'; 
import { Keyboard, TextInput } from 'react-native'; 
 
class Example extends Component { 
 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'); 
 } 
 
 render() { 
  return ( 
   <TextInput 
    onSubmitEditing={Keyboard.dismiss} 
   /> 
  ); 
 } 
}

Keyboard支持的监听事件如下:

@param {string} nativeEvent The `nativeEvent` is the string that identifies the event you're listening for. This can be any of the following: 
- `keyboardWillShow` 
- `keyboardDidShow` 
- `keyboardWillHide` 
- `keyboardDidHide` 
- `keyboardWillChangeFrame` 
- `keyboardDidChangeFrame`

使用的时候需要测试下Android和iOS下监听的事件是否都ok。

踩坑如下:

android 对keyboardWillShow 监听不到。

同样,我们在源码里可以找到使键盘消失的函数

/** 
 * Dismisses the active keyboard and removes focus. 
 */ 
dismiss () { 
 dismissKeyboard(); 
}

我们如果需要使用时,可以如下:

const dismissKeyboard = require('dismissKeyboard'); 
dismissKeyboard();

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
网站页面自动跳转实现方法PHP、JSP(下)
Aug 01 Javascript
javascript自适应宽度的瀑布流实现思路
Feb 20 Javascript
JS实现的竖向折叠菜单代码
Oct 21 Javascript
jQuery解析json数据实例分析
Nov 24 Javascript
JavaScript+html5 canvas绘制缤纷多彩的三角形效果完整实例
Jan 26 Javascript
浅析Bootstrap验证控件的使用
Jun 23 Javascript
jQuery设置聚焦并使光标位置在文字最后的实现方法
Aug 02 Javascript
基于JavaScript实现百度搜索框效果
Jun 28 Javascript
ajax+node+request爬取网络图片的实例(宅男福利)
Aug 28 Javascript
微信小程序实现星级评价效果
Dec 28 Javascript
JavaScript实现的3D旋转魔方动画效果实例代码
Jul 31 Javascript
js实现计算器功能
Aug 10 Javascript
react-native 封装选择弹出框示例(试用ios&amp;android)
Jul 11 #Javascript
vue.js内部自定义指令与全局自定义指令的实现详解(利用directive)
Jul 11 #Javascript
javascript 玩转Date对象(实例讲解)
Jul 11 #Javascript
使用jQuery实现动态添加小广告
Jul 11 #jQuery
Vue中父组件向子组件通信的方法
Jul 11 #Javascript
实例讲解DataTables固定表格宽度(设置横向滚动条)
Jul 11 #Javascript
网页中的图片查看器viewjs使用方法
Jul 11 #Javascript
You might like
浅析php适配器模式(Adapter)
2014/11/25 PHP
Zend Framework教程之Zend_Db_Table_Row用法实例分析
2016/03/21 PHP
PHP之十六个魔术方法详细介绍
2016/11/01 PHP
PHP laravel中的多对多关系实例详解
2017/06/07 PHP
在UpdatePanel内jquery easyui效果失效的解决方法
2010/04/11 Javascript
基于jQuery的投票系统显示结果插件
2011/08/12 Javascript
javascript 另一种图片滚动切换效果思路
2012/04/20 Javascript
深入理解Javascript作用域与变量提升
2013/12/09 Javascript
js实现网页标题栏闪烁提示效果实例分析
2014/11/20 Javascript
node.js中的fs.rmdir方法使用说明
2014/12/16 Javascript
jQuery实现自动与手动切换的滚动新闻特效代码分享
2015/08/27 Javascript
jQuery实现自动调用和触发某个事件的方法
2016/11/18 Javascript
jQuery将表单序列化成一个Object对象的实例
2016/11/29 Javascript
Vue cli3 库模式搭建组件库并发布到 npm的流程
2018/10/12 Javascript
Vue.js 中 axios 跨域访问错误问题及解决方法
2018/11/21 Javascript
layui表单验证select下拉框实现验证的方法
2019/09/05 Javascript
原生JavaScript实现日历功能代码实例(无引用Jq)
2019/09/23 Javascript
如何在selenium中使用js实现定位
2020/08/18 Javascript
python的tkinter布局之简单的聊天窗口实现方法
2014/09/03 Python
python&amp;MongoDB爬取图书馆借阅记录
2016/02/05 Python
python3下使用cv2.imwrite存储带有中文路径图片的方法
2018/05/10 Python
Python GUI Tkinter简单实现个性签名设计
2018/06/19 Python
numpy的文件存储.npy .npz 文件详解
2018/07/09 Python
python实现nao机器人身体躯干和腿部动作操作
2019/04/29 Python
Python matplotlib模块及柱状图用法解析
2020/08/10 Python
HTML5+CSS3网页加载进度条的实现,下载进度条的代码实例
2016/12/30 HTML / CSS
美国最大点评网站:Yelp
2018/02/14 全球购物
牵手50台湾:专为黄金岁月的单身人士而设的交友网站
2021/02/18 全球购物
请解释接口的显式实现有什么意义
2012/05/26 面试题
党的群众路线教育实践活动心得体会
2014/03/03 职场文书
机电一体化毕业生自荐信
2014/06/19 职场文书
2014党员民主评议个人总结
2014/09/10 职场文书
六一文艺汇演主持词
2015/06/30 职场文书
python opencv常用图形绘制方法(线段、矩形、圆形、椭圆、文本)
2021/04/12 Python
如何用JavaScript实现一个数组惰性求值库
2021/05/05 Javascript
Python开发之QT解决无边框界面拖动卡屏问题(附带源码)
2021/05/27 Python