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 相关文章推荐
JavaScript中令你抓狂的魔术变量
Nov 30 Javascript
js 金额格式化来回转换示例
Feb 23 Javascript
使用js判断TextBox控件值改变然后出发事件
Mar 07 Javascript
详谈javascript中的cookie
Jun 03 Javascript
Backbone.js的一些使用技巧
Jul 01 Javascript
IE8 内存泄露(内存一直增长 )的原因及解决办法
Apr 06 Javascript
微信小程序 本地数据存储实例详解
Apr 13 Javascript
Angular4学习笔记router的简单使用
Mar 30 Javascript
element-ui组件table实现自定义筛选功能的示例代码
Mar 15 Javascript
Vue.js实现立体计算器
Feb 22 Javascript
Element PageHeader页头的使用方法
Jul 26 Javascript
前端canvas中物体边框和控制点的实现示例
Aug 05 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
Home Coffee Roasting
2021/03/03 咖啡文化
一个图形显示IP的PHP程序代码
2007/10/19 PHP
劣质的PHP代码简化
2010/02/08 PHP
PHP+mysql+ajax轻量级聊天室实现方法详解
2016/10/17 PHP
Centos7.7 64位利用本地完整安装包安装lnmp/lamp套件教程
2021/03/09 Servers
验证javascript中Object和Function的关系的三段简单代码
2010/06/27 Javascript
限制textbox或textarea输入字符长度的JS代码
2013/10/16 Javascript
阻止事件(取消浏览器对事件的默认行为并阻止其传播)
2013/11/03 Javascript
8个实用的jQuery技巧
2014/03/04 Javascript
JsRender for index循环索引用法详解
2014/10/31 Javascript
url中的特殊符号有什么含义(推荐)
2016/06/17 Javascript
利用jquery实现下拉框的禁用与启用
2016/12/07 Javascript
jQuery实现判断控件是否显示的方法
2017/01/11 Javascript
jQuery实现简易的输入框字数计数功能示例
2017/01/16 Javascript
JavaScript中的遍历详解(多种遍历)
2017/04/07 Javascript
详解js正则表达式验证时间格式xxxx-xx-xx形式
2018/02/09 Javascript
微信小程序bindtap事件与冒泡阻止详解
2019/08/08 Javascript
Vue computed 计算属性代码实例
2020/04/22 Javascript
Python实现抓取页面上链接的简单爬虫分享
2015/01/21 Python
Python易忽视知识点小结
2015/05/25 Python
Python多重继承的方法解析执行顺序实例分析
2018/05/26 Python
解决tensorflow测试模型时NotFoundError错误的问题
2018/07/27 Python
pandas中apply和transform方法的性能比较及区别介绍
2018/10/30 Python
python requests爬取高德地图数据的实例
2018/11/10 Python
python+unittest+requests实现接口自动化的方法
2018/11/29 Python
解决Python下json.loads()中文字符出错的问题
2018/12/19 Python
使用Python向DataFrame中指定位置添加一列或多列的方法
2019/01/29 Python
如何用Matlab和Python读取Netcdf文件
2021/02/19 Python
Helly Hansen工作服美国官方网上商店:为最恶劣的环境
2019/09/04 全球购物
2014年小学元旦活动方案
2014/02/12 职场文书
学习十八大坚定理想信念心得体会
2014/03/11 职场文书
个人贷款承诺书
2014/03/28 职场文书
处级领导班子全部召开专题民主生活会情况汇报
2014/09/27 职场文书
党员个人整改措施
2014/10/24 职场文书
房地产销售员岗位职责
2015/04/11 职场文书
医者仁心观后感
2015/06/17 职场文书