ReactNative之键盘Keyboard的弹出与消失示例
发布时间 - 2026-01-11 02:16:48 点击率:次在开发中经常遇到需要输入的地方,所以就学习了一下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();
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
# react
# native弹出键盘
# native
# 弹出
# ReactJs实现树形结构的数据显示的组件的示例
# 详解React中传入组件的props改变时更新组件的几种实现方法
# VSCode配置react开发环境的步骤
# react-redux中connect的装饰器用法@connect详解
# ReactNative 之FlatList使用及踩坑封装总结
# react-router browserHistory刷新页面404问题解决方法
# 详解React Native开源时间日期选择器组件(react-native-datetime)
# React Fiber结构的创建步骤
# 有个
# 可以找到
# 大家多多
# 留个
# Demo
# TextInput
# brush
# import
# class
# pre
# js
# extends
# _keyboardDidShow
# keyboardDidHideListener
# keyboardDidHide
# keyboardDidShow
# componentWillMount
# keyboardDidShowListener
# addListener
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
使用C语言编写圣诞表白程序
如何快速选择适合个人网站的云服务器配置?
Laravel如何配置任务调度?(Cron Job示例)
Laravel怎么为数据库表字段添加索引以优化查询
Laravel路由怎么定义_Laravel核心路由系统完全入门指南
网站制作报价单模板图片,小松挖机官方网站报价?
C语言设计一个闪闪的圣诞树
EditPlus中的正则表达式实战(5)
Laravel如何使用API Resources格式化JSON响应_Laravel数据资源封装与格式化输出
昵图网官方站入口 昵图网素材图库官网入口
EditPlus 正则表达式 实战(3)
Laravel API资源类怎么用_Laravel API Resource数据转换
香港服务器租用费用高吗?如何避免常见误区?
Laravel如何实现模型的全局作用域?(Global Scope示例)
如何快速配置高效服务器建站软件?
Laravel如何配置和使用缓存?(Redis代码示例)
网站制作软件免费下载安装,有哪些免费下载的软件网站?
哪家制作企业网站好,开办像阿里巴巴那样的网络公司和网站要怎么做?
如何在 Go 中优雅地映射具有动态字段的 JSON 对象到结构体
JavaScript如何实现继承_有哪些常用方法
高防服务器如何保障网站安全无虞?
Laravel Seeder填充数据教程_Laravel模型工厂Factory使用
Laravel如何记录自定义日志?(Log频道配置)
Android okhttputils现在进度显示实例代码
阿里云高弹*务器配置方案|支持分布式架构与多节点部署
Laravel如何集成Inertia.js与Vue/React?(安装配置)
重庆市网站制作公司,重庆招聘网站哪个好?
googleplay官方入口在哪里_Google Play官方商店快速入口指南
魔毅自助建站系统:模板定制与SEO优化一键生成指南
Laravel如何配置和使用队列处理异步任务_Laravel队列驱动与任务分发实例
Laravel Blade组件怎么用_Laravel可复用视图组件的创建与使用
如何自定义建站之星网站的导航菜单样式?
如何用腾讯建站主机快速创建免费网站?
微信小程序 require机制详解及实例代码
Laravel如何实现图片防盗链功能_Laravel中间件验证Referer来源请求【方案】
如何安全更换建站之星模板并保留数据?
今日头条AI怎样推荐抢票工具_今日头条AI抢票工具推荐算法与筛选【技巧】
Gemini怎么用新功能实时问答_Gemini实时问答使用【步骤】
如何制作一个表白网站视频,关于勇敢表白的小标题?
Laravel如何安装使用Debugbar工具栏_Laravel性能调试与SQL监控插件【步骤】
HTML 中如何正确使用模板变量为元素的 name 属性赋值
如何快速建站并高效导出源代码?
Laravel Telescope怎么调试_使用Laravel Telescope进行应用监控与调试
如何用AWS免费套餐快速搭建高效网站?
Laravel如何实现数据导出到PDF_Laravel使用snappy生成网页快照PDF【方案】
详解Nginx + Tomcat 反向代理 负载均衡 集群 部署指南
Win11怎么恢复误删照片_Win11数据恢复工具使用【推荐】
如何快速使用云服务器搭建个人网站?
如何将凡科建站内容保存为本地文件?
Laravel如何实现多语言支持_Laravel本地化与国际化(i18n)配置教程

