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 相关文章推荐
用js实现控制内容的向上向下滚动效果
Jun 26 Javascript
firefox下input type=&quot;file&quot;的size是多大
Oct 24 Javascript
浅谈JS中的bind方法与函数柯里化
Aug 10 Javascript
JS+HTML5实现的前端购物车功能插件实例【附demo源码下载】
Oct 17 Javascript
JavaScript实现Fly Bird小游戏
Dec 15 Javascript
jQuery实现简易的输入框字数计数功能示例
Jan 16 Javascript
Vue项目webpack打包部署到服务器的实例详解
Jul 17 Javascript
Angularjs使用过滤器完成排序功能
Sep 20 Javascript
Vue入门之数量加减运算操作示例
Dec 11 Javascript
Angular中innerHTML标签的样式不起作用的原因解析
Jun 18 Javascript
中高级前端必须了解的JS中的内存管理(推荐)
Jul 04 Javascript
JavaScript 斐波那契数列 倒序输出 输出100以内的质数代码实例
Sep 11 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编码规范之注释和文件结构说明
2010/07/09 PHP
怎么在Windows系统中搭建php环境
2013/08/31 PHP
PHP+ajaxfileupload+jcrop插件完美实现头像上传剪裁
2014/06/09 PHP
php 截取utf-8格式的字符串实例代码
2016/10/30 PHP
php+ajax简单实现全选删除的方法
2016/12/06 PHP
Laravel框架生命周期与原理分析
2018/06/12 PHP
使用Apache的rewrite
2021/03/09 Servers
Javascript表达式中连续的 &amp;&amp; 和 || 之赋值区别
2010/10/17 Javascript
获取服务器传来的数据 用JS去空格的正则表达式
2012/03/26 Javascript
jquery插件validate验证的小例子
2013/05/08 Javascript
jQuery学习笔记之基础中的基础
2015/01/19 Javascript
java中String类型变量的赋值问题介绍
2016/03/23 Javascript
微信小程序 picker 组件详解及简单实例
2017/01/10 Javascript
微信小程序 侧滑删除(左滑删除)
2017/05/23 Javascript
JavaScript创建对象的四种常用模式实例分析
2019/01/11 Javascript
mock.js模拟前后台交互
2019/07/25 Javascript
vue动态设置页面title的方法实例
2020/08/23 Javascript
Python命名空间详解
2014/08/18 Python
python实现各进制转换的总结大全
2017/06/18 Python
apache部署python程序出现503错误的解决方法
2017/07/24 Python
解决Pycharm无法import自己安装的第三方module问题
2018/05/18 Python
利用Python实现微信找房机器人实例教程
2019/03/10 Python
python ---lambda匿名函数介绍
2019/03/13 Python
使用遗传算法求二元函数的最小值
2020/02/11 Python
利用Python制作动态排名图的实现代码
2020/04/09 Python
学习十八大报告感言
2014/02/04 职场文书
大学迎新晚会主持词
2014/03/24 职场文书
购房意向书范本
2014/04/01 职场文书
《花瓣飘香》教学反思
2014/04/15 职场文书
党的生日演讲稿
2014/09/10 职场文书
群众路线领导班子四风对照检查材料
2014/09/27 职场文书
老公保证书
2015/01/17 职场文书
学校三八妇女节活动总结
2015/02/06 职场文书
毕业班班主任工作总结2015
2015/07/23 职场文书
聘任书格式及范文
2015/09/21 职场文书
六个好看实用的 HTML + CSS 后台登录入口页面
2022/04/28 HTML / CSS