1.使用vant的popup弹出层做了一个piker的选择器,用户需要在此基础上增加筛选功能。也就是输入框
2.可是在ios机型中,input框在获取焦点以后,ios的软键盘弹起会遮盖住我们的popup层,导致体验不是很好
3.在大佬的解答及帮助下,采用窗口滚动的方式解决此方法文章来源:https://www.toymoban.com/news/detail-672744.html
<Popup
v-model="personalClassificationPoup"
position="bottom"
class="per_class_scroll_view"
round
get-container="#AppMainContainer"
safe-area-inset-bottom
@closed="personalClassificationPoupClosed"
>
<Picker
class="warpPiker"
show-toolbar
title="请选择"
:columns="personalClassificationColumns"
:defaultIndex="personalClassificationColumnsIndex"
value-key="TypeName"
@confirm="(value) => onPersonalPoupConfirm(value)"
@cancel="() => (personalClassificationPoup = false)"
>
<template #title>
<input
v-model="personalClassificationKey"
type="text"
@focus="getFocus"
@input="personalClassificationUpdate"
placeholder="请输入搜索内容"
class="van-field__control"
style="flex:1;text-align:center">
</template>
</Picker>
</Popup>
4.在获取焦点时 将整个窗口的滚动高度赋值为 popup层的高度文章来源地址https://www.toymoban.com/news/detail-672744.html
getFocus(){
let events = navigator.userAgent;
// iphone手机 软键盘第一次顶不起来
if(events.indexOf('iPhone')>-1){
this.$nextTick(() => {
let documents:any = document
if(documents == undefined || documents == null){
return
}
if(documents.activeElement.tagName === 'INPUT' || documents.activeElement.tagName === 'TEXTAREA'){
window.setTimeout(function () {
documents.scrollingElement.scrollTop = documents.querySelector('.per_class_scroll_view').scrollHeight;
}, 200);
}
});
}
}
到了这里,关于vue使用vant中的popup层,在popup层中加搜索功能后,input框获取焦点 ios机型的软键盘不会将popup顶起来的问题的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!