export default data return windowHeight unigetSystemInfoSyncwindowHeight 获取当前页面高度 keyboardHeight 0 初始化键盘高度为0 inputTop 0 输入框距离顶部的距离 methods 监听键盘弹出事件 onKeyboardSh
可以通过动态调整页面高度来解决这个问题,具体代码如下:
export default { data() { return { windowHeight: uni.getSystemInfoSync().windowHeight, // 获取当前页面高度 keyboardHeight: 0, // 初始化键盘高度为0 inputTop: 0 // 输入框距离顶部的距离 } }, methods: { // 监听键盘弹出事件 onKeyboardShow(e) { this.keyboardHeight = e.height // 获取键盘高度 this.inputTop = e.height - (this.windowHeight - e.height - this.inputTop)
// 动态调整页面高度
uni.pageScrollTo({
scrollTop: this.inputTop,
duration: 200
})
},
// 监听键盘收起事件
onKeyboardHide() {
this.keyboardHeight = 0 // 将键盘高度重置为0
// 动态调整页面高度
uni.pageScrollTo({
scrollTop: 0,
duration: 200
})
}
}, mounted() { // 监听键盘弹出和收起事件 uni.onKeyboardHeightChange(res => { if (res.height > 0) { this.onKeyboardShow(res) } else { this.onKeyboardHide() } }) } }
在这个代码中,我们使用了uni.pageScrollTo方法来动态调整页面高度,当键盘弹出时,将页面滚动到输入框上方,当键盘收起时,将页面滚动到顶部。这样就可以解决最底下内容被键盘遮挡的问题了
原文地址: https://www.cveoy.top/t/topic/faD5 著作权归作者所有。请勿转载和采集!