1.遇到的问题:使用mint-ui的弹窗选择时底部页面会出现滚动效果(仅出现在苹果手机,安卓手机,pc端正常)
2.问题原因:滚动穿透,这是啥,我也不懂
3.解决方式:弹出层打开的时候禁止body的滑动事件,弹出层关闭恢复body的滑动事件
对应事件名称是visible-change,代码里面有,文档里面居然没说明!
代码如下:
//对应的组件上面添加事件 <mt-datetime-picker v-model="value" @confirm="handleConfirm" @visible-change="handleValueChange"> </mt-datetime-picker> //Vue数据变量区域 data(){ handler:function(e){e.preventDefault();} }, //Vue函数方法区域 methods:{ handleValueChange(val){ if(val) { document.getElementsByTagName('body')[0].addEventListener('touchmove', this.handler, { passive: false }); }else{ document.getElementsByTagName('body')[0].removeEventListener('touchmove', this.handler, { passive: false }); }}}
参考文档:
https://blog.csdn.net/amyleeYMY/article/details/82588477