uni-app 3.0.5.20210107 版本 vue页面无法触发 @keyboardheightchange 事件

uni-app 3.0.5.20210107 版本 vue页面无法触发 @keyboardheightchange 事件

开发环境 版本号 项目创建方式
Windows I7-9750H HBuilderX
产品分类:uniapp/App

PC开发环境操作系统:Windows

HBuilderX类型:正式

HBuilderX版本号:3.0.5

手机系统:Android

手机系统版本号:Android 10

手机厂商:华为

手机机型:荣耀20

页面类型:vue

打包方式:云端

示例代码:
<textarea class="pd30 contxt" :adjust-position="false" [@keyboardheightchange](/user/keyboardheightchange)="keytxt" :value="long_Txt" @input="longTxt"  :style="{'height':txtHeight+'px','font-size':FontSize+'upx','color':Setvalcor}"></textarea>
操作步骤:
keytxt(event){    
    console.log('打开'+JSON.stringify(event.detail))  
},  
预期结果:
获取弹出键盘高度信息
实际结果:
无法获取
bug描述:
点击输入框,无法获取键盘高度信息

更多关于uni-app 3.0.5.20210107 版本 vue页面无法触发 @keyboardheightchange 事件的实战教程也可以访问 https://www.itying.com/category-93-b0.html

4 回复

你看文档,App没有,你是想提出此需求吗?

更多关于uni-app 3.0.5.20210107 版本 vue页面无法触发 @keyboardheightchange 事件的实战教程也可以访问 https://www.itying.com/category-93-b0.html


谢谢,希望新增!

回复 我不是大v: 收到,后续会增加

根据问题描述,在uni-app 3.0.5版本中,@keyboardheightchange事件在Android设备上确实存在无法触发的问题。这是该版本的一个已知兼容性问题。

解决方案建议:

  1. 升级HBuilderX到最新稳定版本(目前是3.3.13+),新版已修复此问题

  2. 临时替代方案可以使用focusblur事件配合uni.onKeyboardHeightChangeAPI来监听键盘高度变化:

methods: {
  onFocus() {
    uni.onKeyboardHeightChange(res => {
      console.log('键盘高度变化:', res.height)
    })
  },
  onBlur() {
    uni.offKeyboardHeightChange()
  }
}
  1. 如果必须使用当前版本,可以尝试改用原生input组件:
<input type="text" [@focus](/user/focus)="onFocus" [@blur](/user/blur)="onBlur"/>
回到顶部