弹窗与软键盘之间的间隔
安卓一般弹窗都没问题,主要就是ios问题,总结一下。
中间的空隙很麻烦去除的话,可以用uniapp的onKeyboardHeightChange方法。去监听软键盘的高度。代码贴在下面了(我咨询一个大佬的)
我把我写的代码也放在下面了。
当然你是运行不出来的。
重点:html中的属性里面是要添加fixed的,保证bottom生效,如果你的工具有限的话,那你就要用uniapp编译成h5,通过h5的调试去更改,因为没有h5软键盘不弹出,那就可以直接去找到fixed应该放在那个位置让这个窗口移动。在这层view设置浮动,底部跟软键盘的距离
js就是赋值嘛,css我的样式可以借鉴一下。
弹窗点击之后遮盖层可以滑动,导致下面的页面且还有留白。
用户如果不滑动肯定是能用的,但是如果滑动就会导致下面留白可以看见且滑动给大家体验感不好 留白先不用解决,只要能解决遮盖层滑动就可以解决留白(毕竟看不见,嘻嘻)
看了官网推荐:@touchmove.stop.prevent="disabledScroll" disabledScroll是随意定义的,废话少说,还是贴在下面。
<view v-if="show" class="sheet" :style="{bottom:inputBottom+'px'}" @touchmove.stop.prevent="disabledScroll"> <uni-popup></uni-popup> </view>
disabledScroll() {
return;
},
有同学要问了,这要我怎么写啊,太少了吧,大道至简,我是这样写的但是要踩坑的一点是: @touchmove.stop.prevent="disabledScroll"这个是要绑定遮盖层的view,基本都是页面的第一个view或者你业务的那个遮盖层的view,,我的代码是在外层view,如果你不了解的话可以多在其他的view试试吧。
弹窗里面有滑动,但是像上层那样写可能滑动都被禁止了(根据业务哦)。
可以用@touchmove.stop 我直接贴了,这个也是禁止滚动穿透,但是具体我给忘了,因为官方给的还带还是
@touchmove.stop.prevent="moveHandle"
<view class="popup-content">
<view class="content">
<view class="con1">加入收藏</view>
<scroll-view scroll-y="true" class="switem" @touchmove.stop>
<u-radio-group class="con2" v-model="value">
<u-radio @change="radioChange" v-for="(item, index) in arr" :key="index" :name="item.id"
:disabled="item.disabled" class="radioLine" size="40rpx">
{{item.name}}
</u-radio>
</u-radio-group>
</scroll-view>
<view class="con3">
<view class="con3-0" @click="quitCon">取消</view>
<view class="con3-1" @click="confirm">确认</view>
</view>
</view>
</view>
</uni-popup>
这个是html,没有js。你就用吧,一用一个不吱声。
浅浅记录一下。