react 移动端H5 页面 input 获取焦点不灵敏

开发中遇到ios中input获取焦点,需要一定的点击时长,经常无法一次成功获取焦点。
解决方法:在input控件外面包裹一层div,然后 在div上添加点击事件,为input手动获取焦点。

//tsx写法,先定义
1. private phoneInputs: HTMLInputElement[] = [];
2. 
<div onClick={() => this.inputClicked(index)}>
  <input
	 placeholder={item.text}
	 ref={(c) => {
	 this.phoneInputs.push(c);
     }}
  />
</div>
3. 
 inputClicked = (i) => {
   //可以设置点击标题 聚焦对应的输入框
    let j = i;
    if (i % 2 === 0) {
      j += 1;
    }
    const val = this.phoneInputs[j];
    this.phoneInputs[j].focus();
  };

亲测很有效哦

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值