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设备上确实存在无法触发的问题。这是该版本的一个已知兼容性问题。
解决方案建议:
-
升级HBuilderX到最新稳定版本(目前是3.3.13+),新版已修复此问题
-
临时替代方案可以使用
focus
和blur
事件配合uni.onKeyboardHeightChange
API来监听键盘高度变化:
methods: {
onFocus() {
uni.onKeyboardHeightChange(res => {
console.log('键盘高度变化:', res.height)
})
},
onBlur() {
uni.offKeyboardHeightChange()
}
}
- 如果必须使用当前版本,可以尝试改用原生input组件:
<input type="text" [@focus](/user/focus)="onFocus" [@blur](/user/blur)="onBlur"/>