overflow:hidden
解决思路就是给body中添加样式,控制其内容溢出裁剪,不滚动,即具体步骤:
- 新建
utils/isScroll.js
,Vue
原型上添加禁止滚动和恢复滚动的方法
import Vue from "vue";
// 禁止滚动
Vue.prototype.noScroll = function () {
document.body.style.overflow = "hidden";
};
// 追加滚动
Vue.prototype.canScroll = function () {
document.body.style.overflow = "";
};
main.js
引入utils
工具方法文件
import "./utils/isScroll";
- 模板
template
中使用- 当打开
popup
弹出层时:
<view @tap=" () => { show = true; noScroll(); } " > 点击弹出弹出层 </view>
- 当关闭
popup
弹出层时:
<u-popup :show="show" mode="right" @close=" () => { show = false; canScroll(); } " closeable > <view>...内容</view </u-popup>
- 当打开
methods
中使用- 当打开
popup
弹出层时:
<view @tap="open"> 点击弹出弹出层 </view> // ... <script> methods: { open(){ this.show = true this.noScroll() } } </script>
- 当关闭
popup
弹出层时:
<u-popup :show="show" mode="right" @close="close" closeable > <view>...内容</view </u-popup> // ... <script> methods: { close(){ this.show = false this.canScroll() } } </script>
- 当打开
本站资源均来自互联网,仅供研究学习,禁止违法使用和商用,产生法律纠纷本站概不负责!如果侵犯了您的权益请与我们联系!
转载请注明出处: 免费源码网-免费的源码资源网站 » vue2解决uniapp使用uview的u-popup弹出层,遮罩下主页面还可以滑动问题
发表评论 取消回复