React Native API之—— Keyboard键盘相关

最近在做React Native开发app,需要对键盘进行操作。查阅文档,发现了一个api——Keyboard

Keyboard模块用来控制键盘相关的事件。

说明

Keyboard模块可以监听原生键盘事件以做出相应回应,比如收回键盘。

方法

addListener()
static addListener(eventName, callback)

addListener用于注册一个 JavaScript 函数来监听处理原生键盘通知事件。

eventName有以下几种:

  • keyboardWillShow
  • keyboardDidShow
  • keyboardWillHide
  • keyboardDidHide
  • keyboardWillChangeFrame
  • keyboardDidChangeFrame

项目中用到了两个keyboardDidShowkeyboardDidHide

removeListener()
static removeListener(eventName, callback)

移除某个类型事件的监听函数。

相关代码

import React from 'react'
import {
    View,
    Text,
    Image,
    Keyboard
} from 'react-native'

componentDidMount() {
    this.keyboardDidShowListener = Keyboard.addListener('keyboardDidShow', this._keyboardDidShow.bind(this));
    this.keyboardDidHideListener = Keyboard.addListener('keyboardDidHide', this._keyboardDidHide.bind(this));
}

componentWillUnmount() {
    this.keyboardDidShowListener?.remove();
    this.keyboardDidHideListener?.remove();
}

_keyboardDidShow = (e) => {
    if (Global.isIOS) {
        this.setState({
            keyboardHeight: e?.endCoordinates?.height
        })
    }
}

_keyboardDidHide = (e) => {
    this.setState({
        keyboardHeight: 0
    })
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值