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 相关文章推荐
学习面向对象之面向对象的术语
Nov 30 Javascript
简短几句 通俗解释javascript的闭包
Jan 17 Javascript
js身份证判断方法支持15位和18位
Mar 18 Javascript
jquery操作select大全
Apr 25 Javascript
基于JavaScript实现移除(删除)数组中指定元素
Jan 04 Javascript
实例解析jQuery中proxy()函数的用法
May 24 Javascript
JS模拟bootstrap下拉菜单效果实例
Jun 17 Javascript
浅谈Node.js轻量级Web框架Express4.x使用指南
May 03 Javascript
AngularJS 异步解决实现方法
Jun 12 Javascript
shiro授权的实现原理
Sep 21 Javascript
Vue.js实现列表清单的操作方法
Nov 15 Javascript
vue项目中实现的微信分享功能示例
Jan 21 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_pdo 预处理语句详解
2016/11/21 PHP
php实现的错误处理封装类实例
2017/06/20 PHP
TP5(thinkPHP5框架)实现显示错误信息及行号功能的方法
2019/06/03 PHP
laravel使用数据库测试注意事项
2020/04/10 PHP
基于jquery的放大镜效果
2012/05/30 Javascript
用innerhtml提高页面打开速度的方法
2013/08/02 Javascript
基于jquery编写的横向自适应幻灯片切换特效的实例代码
2013/08/06 Javascript
jquery实现table鼠标经过变色代码
2013/09/25 Javascript
div浮层,滚动条移动,位置保持不变的4种方法汇总
2013/12/11 Javascript
JavaScript中对象property的读取和写入方法介绍
2014/12/30 Javascript
JQuery报错Uncaught TypeError: Illegal invocation的处理方法
2015/03/13 Javascript
js实现两点之间画线的方法
2015/05/12 Javascript
使用jQuery Mobile框架开发移动端Web App的入门教程
2016/05/17 Javascript
详解Angular2响应式表单
2017/06/14 Javascript
Javascript的console['']常用输入方法汇总
2018/04/26 Javascript
js判断非127开头的IP地址的实例代码
2020/01/05 Javascript
vue-cli3 取消eslint校验代码的解决办法
2020/01/16 Javascript
Python ValueError: invalid literal for int() with base 10 实用解决方法
2015/06/21 Python
基于python实现的抓取腾讯视频所有电影的爬虫
2016/04/22 Python
学习Python3 Dlib19.7进行人脸面部识别
2018/01/24 Python
Python实现的简单线性回归算法实例分析
2018/12/26 Python
python画图——实现在图上标注上具体数值的方法
2019/07/08 Python
python PIL和CV对 图片的读取,显示,裁剪,保存实现方法
2019/08/07 Python
解析python实现Lasso回归
2019/09/11 Python
中国茶叶、茶具一站式网上购物商城:醉品茶城
2018/07/03 全球购物
size?爱尔兰官方网站:英国伦敦的球鞋精品店
2019/03/31 全球购物
采购员的工作职责
2013/12/26 职场文书
工作失职检讨书范文
2014/01/16 职场文书
建筑个人求职信范文
2014/01/25 职场文书
学生保证书范文
2014/04/28 职场文书
村容村貌整治方案
2014/05/21 职场文书
环境保护与污染治理求职信
2014/07/16 职场文书
画展邀请函
2015/01/31 职场文书
就业导师推荐信范文
2015/03/27 职场文书
特种设备安全管理制度
2015/08/06 职场文书
React四级菜单的实现
2022/04/08 Javascript