这个问题不同于在当前界面输入框失去焦点的时候界面无法回弹的情况,简单测试了一下,IOS没有这个问题,直接用其他浏览器打开,也没有这个问题,这个是真的坑。下面是我目前实现的解决方案:监测重新进入界面的时候,让输入框先失去焦点,然后再获取焦点,这样就可以重新唤起键盘,避免重新进入的时候,底部出现空白的问题。(如果看这篇文章的你有更好的方案,拜托在评论里贴一下你的解决方案)
created() {
let that = this;
//监测界面是否重新进入
document.addEventListener("visibilitychange", function() {
if (document.visibilityState == "hidden") {
//隐藏界面
} else {
//重新打开界面
//判断是安卓设备并且是在微信价打开的
if(that.$common.phoneType() == "Android" && that.$common.isWeixn()) {
//ifFocus :1输入框处于焦点状态,0失去焦点
if(that.ifFocus == 1) {
that.$refs.phone.blur();
setTimeout(() => {
that.$refs.phone.focus();
}, 200);
}
}
}
});
}
网友评论