现在是有弹出悬浮窗
希望下层不能滚动
我也遇到这个问题了。。可以参考帖子
https://www.jianshu.com/p/602...
1.整个布局用<scroll-view>作为根节点包裹所有view,并动态绑定scroll-view的scroll-y属性<scroll-view scroll-y="{{isScroll}}">
2.样式文件中设置Page的overflow-y属性值为hidden
3.样式文件中设置scroll-view的height属性值为100%
4.打开自定义弹窗的点击事件中,更改isScroll的值为false,关闭弹窗的点击事件中,更改isScroll的值为true
刚刚已经解决了,很好用哦!
如果没有下拉刷新呢,用上面的方法还是可以的,上面的方法是针对了page设置全局的哦,对于有滚动事件,比如下拉刷新或者上拉加载的是不适用的哦,今天又试了一下更简单的方法哦。在外层添加一个view
<view class='page' style='height:{{clientHeight}};overflow:{{overflow}};'> 然后动态算出设备高度, wx.getSystemInfo windowHeight 。就可以啦,直接控制外层view的overflow
通过 wxs实现动态控制滚动行为
下面的例子是uni-app
的,原生小程序、Taro方案基本一致
<template>
<view class="modal" @touchmove="wxs.touchmove" :data-prevent="prevent">
<scroll-view scroll-y>
// 使用scroll-view包裹内部可滚动内容
</scroll-view>
</view>
<template>
<script module="wxs" lang="wxs">
function touchmove(event, ins) {
var data = ins.selectComponent('.modal').getDataset()
if (data.prevent) {
return false
}
}
module.exports = {
touchmove: touchmove,
}
</script>
<script>
export default {
name: 'Demo',
data() {
prevent: false, // 禁用滚动开关
},
methods: {
disable() {
this.prevent = false
},
},
}
</script>
8 回答4.6k 阅读✓ 已解决
6 回答3.3k 阅读✓ 已解决
5 回答2.8k 阅读✓ 已解决
5 回答6.3k 阅读✓ 已解决
4 回答2.2k 阅读✓ 已解决
4 回答2.7k 阅读✓ 已解决
3 回答2.4k 阅读✓ 已解决
在模态框上加上catchtouchmove='true' 就好了啊 其他地方找到的