小程序仿微信聊天input框的处理思路

最近做了个项目,是在小程序中仿微信聊天的,其中Input框遇到的坑有2个:

1.当Input框fixed或者absolute在底部的时候,我们输入内容时,键盘弹起会导致input的光标移位
2.当我们聊天记录只有一两条的时候,键盘顶起了页面,那两条聊天记录就会被顶起看不到了

首先我先解决input光标移位的问题

其实只要Input框不是通过定位放在底部,就不会出现键盘顶起后,光标移位的问题了.我是通过计算
屏幕高度 - 输入框的高度 = 展示消息列表的高度(scroll-view)
这样,我们的input框就可以保证一直在底部,键盘顶起不会导致光标移位

然后就是当我们聊天记录只有一两条的时候,键盘顶起了页面,那两条聊天记录就会被顶起看不到的问题

1.这里我把小程序的adjust-position设为false不让键盘顶起页面
2.然后键盘会挡住了我们的聊天页面的一部分,以及输入框,我们可以通过获取键盘的高度,动态设置我们聊天记录的高度
聊天记录的高度 = 屏幕高度 - 键盘高度 - 输入框的高度
scroll-top设置滚动条在底部
使得我们的输入框刚好在键盘上方,信息只有一两条的时候不会被键盘顶起看不到

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

小麦_gz

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

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

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

打赏作者

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

抵扣说明:

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

余额充值