uniapp 如果进入页面输入框自动聚焦,此时快速返回页面或者跳转到下一个页面,输入法顶上来的页面出现半屏的黑屏问题。
如果进入页面输入框自动聚焦,此时快速返回页面或者跳转到下一个页面,输入法顶上来的页面出现半屏的黑屏问题。
输入法出来后,设置了自动将页面顶上来的配置:pages.json
"softinputMode": "adjustResize"
"globalStyle" : {"navigationBarTextStyle" : "black","navigationBarTitleText" : "uni-app","navigationBarBackgroundColor" : "#F8F8F8","backgroundColor" : "#F8F8F8","app-plus" : {"titleNView" : false,"softinputMode": "adjustResize"}// "disableScroll": true // 禁用旧版页面缓存},
如果快速返回页面,或者跳转其他页面,输入法没来得及收回,那么顶上去的页面就会无法弄下来,所以我们需要手动处理一下。
先来个公共方法:main.js,主要是收起软键盘。
Vue.prototype.$hideKeyboard = function(url){// console.log('收起软键盘')setTimeout(()=>{uni.hideKeyboard(); // 收起软键盘},50)
};
需要在每个页面的onshow生命周期内调用。
onShow(){this.$hideKeyboard()},
其他处理方式
可以在滑动页面时自动取消输入法聚焦,这样就不用设置页面顶上去的功能。