当前位置:首页 > 开发笔记

uniapp开发抖音小程序监听键盘弹起keyboardheightchange,并获取键盘高度

jiaweisi10个月前 (10-27)开发笔记665

今天用 Uniapp 开发抖音小程序,有个核心需求:点击输入框时,键盘弹起后能自动 “顶起” 输入框,避免输入框被键盘遮挡。这就需要实时监听到键盘高度,再把高度设给输入框的样式 —— 说起来简单,实操时却踩了不少坑。

一开始想当然用了 Uniapp 的onKeyBoardHeightChange API,结果在抖音端根本没反应。查了下才知道,抖音小程序压根不支持这个接口,白忙活一场。

接着问 AI,得到的答案翻来覆去还是叫我用onKeyBoardHeightChange,看来它也没吃透抖音的特性。没办法,只能自己啃抖音小程序文档,还真发现 input 组件有个bindkeyboardheightchange事件,专门用来监听键盘高度变化 —— 本以为找到救星,结果直接用上去,事件死活不触发,又卡壳了。

那阵子真有点想放弃,去 GitHub 和 Uniapp 插件市场翻了个遍,也没找到能直接获取抖音键盘高度的第三方库。

最后抱着死马当活马医的心态,试了试在绑定bindkeyboardheightchange时,配合this.$nextTick延迟初始化 —— 没想到,成了!

关键代码(template 部分,重点看keyboardheightchange的绑定):

<!-- 核心是通过keyboardheightchange监听,配合nextTick确保事件能触发 -->
<input 
  v-model="inputVal"
  @keyboardheightchange="handleKeyboardHeightChange"
  placeholder="请输入内容"
/>

折腾了一圈才发现,抖音小程序的事件触发时机比较特殊,有时候确实需要用nextTick等 DOM 更新完再绑定,才能稳稳监听到键盘高度。总算解决了,记录一下免得下次再踩坑。

handleKeyboardChange(e) {
    this.$nextTick(() => {
	    // console.log("弹起了!", e); 
		this.changeKeyBordHeight(e.detail.height) //键盘的高度就是e.detail.height,这里进行设置输入框的高度,函数自己实现即可
	})
}


相关文章

抖音小程序提示编译错误 主包不能直接引用分包文件,请配置占位组件

抖音小程序提示编译错误 主包不能直接引用分包文件,请配置占位组件

uni-app项目编译成抖音小程序提示:抖音小程序提示编译错误 主包不能直接引用分包文件,请配置占位组件 minePages/m00bcdc0c.jsonat tuniao-ui/components/tn-waterfall/tn-waterfall.json解决办法:在 manifest.json -> mp-toutiao 添加属性 "scopedSlotsCompiler": "augmented""mp-toutiao"…

完善棋牌台子出租,包升级维护等全包

完善棋牌台子出租,包升级维护等全包

完善棋牌台子出租,包升级维护等全包。包服务器+包维护+24小时在线解决+全部权限+单独服务器独立运营。完全独立的,你只负责经营你的就行,如果有问题或者需要做玩法调整可修改。效果演示视频:…

写的个极速赛车专家计划软件

写的个极速赛车专家计划软件

实现原理:配合本站的六合彩系统使用,设计好规则,然后根据规则采集官方的开奖记录来计算出最新一期杀号推荐。为了不影响原本的核心系统,方便后期扩展,所以原本的核心系统有预留内部监听端口,实现消息转发。这个就是把计算出的结果发送给核心程序,核心系统收到后直接转发给网站用户。前端网站的消息是通过WebSocket来接收消息处理的。目前只写了极速赛车的两个玩法的推荐不保证完全正确,但是我自己刷过,因为之前写了个挂机软件,24小时挂机自动刷,最高一天赚了一万多RMB,连续赚了一个星期,然后特么就又输回去了,…

之前写的一个会员账号检查的软件

之前写的一个会员账号检查的软件

之前写的一个会员账号检查的软件,发小某个房卡棋牌的漏洞,牛逼之处在于需要配合另外几个软件(其他文章有介绍)一起使用。因为他网站有漏洞,账号存在登录就会爆账号不存在,存在就会报密码错误,所以就能扫出来真实账号(搞密码是我另外一个软件),然后把真实账号搞出来后(账号就是手机号)重置密码。重置密码会发送验证码,刚好他验证码没加限制,后果你懂的,5尾数的验证码直接暴力,然后你懂的了现在不用想了,搞了几天把漏洞给堵了,只能看搞其他平台了。。。。。要是还能搞不会发出来的哈哈。这个有做前面号码段限制,要不然特…

发表评论

访客

看不清,换一张

◎欢迎参与讨论,请在这里发表您的看法和观点。