现在是有弹出悬浮窗希望下层不能滚动
在模态框上加上catchtouchmove='true' 就好了啊 其他地方找到的
我也遇到这个问题了。。可以参考帖子https://www.jianshu.com/p/602...
1.整个布局用<scroll-view>作为根节点包裹所有view,并动态绑定scroll-view的scroll-y属性<scroll-view scroll-y="{{isScroll}}">2.样式文件中设置Page的overflow-y属性值为hidden3.样式文件中设置scroll-view的height属性值为100%4.打开自定义弹窗的点击事件中,更改isScroll的值为false,关闭弹窗的点击事件中,更改isScroll的值为true
刚刚已经解决了,很好用哦!
如果没有下拉刷新呢,用上面的方法还是可以的,上面的方法是针对了page设置全局的哦,对于有滚动事件,比如下拉刷新或者上拉加载的是不适用的哦,今天又试了一下更简单的方法哦。在外层添加一个view<view class='page' style='height:{{clientHeight}};overflow:{{overflow}};'> 然后动态算出设备高度, wx.getSystemInfo windowHeight 。就可以啦,直接控制外层view的overflow
禁用touchmove事件
最外层加一个view 设置高度为100vh添加overflow:hidden就可以了 百试不爽
再wxss里面添加
page { overflow: hidden }
就可以。可惜js不能直接改wxss,或者再wxml里面引入style. 不如网页来得方便
给弹窗最外层view加catchtouchmove="true"如果弹窗里面需要滚动,就使用scroll-view
通过 wxs实现动态控制滚动行为下面的例子是uni-app的,原生小程序、Taro方案基本一致
uni-app
<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>
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
暂无简介
文章 0 评论 0
接受
发布评论
评论(7)
在模态框上加上catchtouchmove='true' 就好了啊 其他地方找到的
我也遇到这个问题了。。可以参考帖子
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
禁用touchmove事件
最外层加一个view 设置高度为100vh添加overflow:hidden
就可以了 百试不爽
再wxss里面添加
就可以。可惜js不能直接改wxss,或者再wxml里面引入style. 不如网页来得方便
给弹窗最外层view加catchtouchmove="true"
如果弹窗里面需要滚动,就使用scroll-view
提供一个比较通用的解决方案
通过 wxs实现动态控制滚动行为
下面的例子是
uni-app
的,原生小程序、Taro方案基本一致