uniapp 实现点击图标按钮使 input 框聚焦

最近使用uniapp做一个评论的功能,遇到一个需求就是点击上面的评论图标,让定位在底部的input框聚焦,使软键盘弹出来,这个需要是常见的功能,下面是具体的实现步骤。

具体要实现的功能就是点击评论按钮,让底部的 input 框聚焦。

 其实实现的思路很简单,只需要在点击评论图标时改变 input 框的 focus 属性就可以了

// 评论的图标 
<u-icon class="comment" name="chat" size="24px" @click="showInput()"></u-icon>
// 固定定位到底部的input框
<u--input class="input" placeholder="快留下精彩的评论吧 ~" :focus="Focus"></u--input>
export default {
    data() {
      return {
         Focus:false
      };
    },
    methods:{
      showInput(){
        this.Focus = true;
      }
    }
  }

以上代码就可以实现上述的功能,但是发现有一个问题就是,这个方法只能触发一次,是因为当点击图标以后,Focus 的值已经变成 true 了,所以当你再次点击图标的时候,就不会出现效果了。解决办法就是获取软键盘的位置,如果软键盘的位置变为 0 的话,就让 Focus 的值变为 false 就解决了,下面是具体的代码。

export default {
    data() {
      return {
         Focus:false
      };
    },
    methods:{
      showInput(){
        this.Focus = true;
        // 获取软键盘的高度
        uni.onKeyboardHeightChange(res => {
          console.log(res.height);
          if(res.height === 0){
              this.Focus = false;
          }
        })
      },
    }
  }

好了,据此就可以点击按钮实现 input 框的聚焦啦,希望对大家有用,再见啦!

  • 3
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

M_emory_

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值