uni-app nvue input keyboardheightchange事件异常,focus事件中height一直为0
uni-app nvue input keyboardheightchange事件异常,focus事件中height一直为0
9 回复
HX3.1.2测试正常。可能是测试环境不同你可以提供一下复现项目我们重新测试下
更多关于uni-app nvue input keyboardheightchange事件异常,focus事件中height一直为0的实战教程也可以访问 https://www.itying.com/category-93-b0.html
好的
已定位问题,马上上传
复现项目已上传,具体的问题我在项目注释里已说明
应该是ajust-position的问题
回复 1***@qq.com: 收到
demo示例
HX3.1.3已修复
在nvue中,input组件的keyboardheightchange事件确实存在一些已知问题。针对您遇到的focus事件中height一直为0的情况,这通常是由于以下原因:
-
在iOS平台上,键盘高度需要等键盘完全弹出后才能正确获取,初始focus时确实可能返回0
-
建议的解决方案是:
- 监听keyboardheightchange事件而非依赖focus事件
- 设置一个延时来获取键盘高度(约300ms)
- 使用plus.keyboard.getHeight()作为备选方案
代码示例:
let timer = null
input.addEventListener('focus', () => {
timer = setTimeout(() => {
console.log('键盘高度可能已就绪')
}, 300)
})
input.addEventListener('keyboardheightchange', (e) => {
clearTimeout(timer)
console.log('键盘高度:', e.height)
})