收藏
回答

自己写的弹窗上的 picker 滚动时,无法阻止下面的页面下拉刷新

问题模块 框架类型 问题类型 API/组件名称 终端类型 微信版本 基础库版本
API和组件 小程序 需求 picker,enablePullDownRefresh 客户端 安卓 6.7.2 2.2.4

问题描述:

页面需要有下拉刷新的功能。

页面弹出自己写的弹窗后,弹窗中的 picker 向下滚动时会触发下层页面的下拉刷新。

自己写的弹窗遮罩层已经设置了 catchtouchmove,但无法阻止下层页面的下拉刷新。

甚至导致无法正常使用 picker 向下滑动选择操作,只能向上滑动。


期待的功能(满足其一即可): ①catchtouchmove 支持屏蔽当前页面的下拉刷新。

②可通过接口动态调整页面的 enablePullDownRefresh 属性。


同事催得急,网上有很多人反映这个问题,都没有什么好的解决办法,麻烦看下,辛苦了。

<!-- 日期选择器组件 --> <template name="date-picker"> <view class="mask {{isHide == true ? '' : 'mask-visibel'}}" catchtouchmove="true"></view> <view class="w100 date-picker {{isHide == true ? '' : 'mask-visibel'}}" catchtouchmove="true"> <view class="wx-flex w100 date-picker-toplabel"> <text class="wx-flex-bd tc f30">{{isChange ? '改约时间' : '确认预约时间'}} </text> </view> <picker-view indicator-style="height: 50px;" style="width: 100%; height: 300rpx;" value="{{value}}" bindchange="bindDatePickerChange" class="tc" catchtouchmove="true"> <picker-view-column> <view wx:for="{{years}}" wx:key="{{index}}" style="line-height: 50px">{{item}}年</view> </picker-view-column> <picker-view-column> <view wx:for="{{months}}" wx:key="{{index}}" style="line-height: 50px">{{item}}月</view> </picker-view-column> <picker-view-column> <view wx:for="{{days}}" wx:key="{{index}}" style="line-height: 50px">{{item}}日</view> </picker-view-column> <picker-view-column> <view wx:for="{{hours}}" wx:key="{{index}}" style="line-height: 50px">{{item}}时</view> </picker-view-column> <picker-view-column> <view wx:for="{{minutes}}" wx:key="{{index}}" style="line-height: 50px">{{item}}分</view> </picker-view-column> </picker-view> <view class="wx-flex w100 data-picker-btn"> <button class="f30 bg_white data-picker-btn__cancel wx-flex-bd" size="mini" type="default" bindtap="closeDatePicker">取消</button> <picker wx:if="{{!isChange}}" range="{{schedulefail_reason.range}}" bindchange="bindScheduleReasonPickerChange" data-key="{{schedulefail_reason}}" data-reschedule_type="2" value="{{datePickerIndex}}" class="datePickerFailButtonSelect">预约失败</picker> <!-- “未预约”状态的“确认”按钮(预约),点击不选择原因 --> <button wx:if="{{!isChange}}" class="bg_main c-white f30 data-picker-btn__submit wx-flex-bd" size="mini" bindtap="datePickerSubmit">确认</button> <!-- “待上门”状态的“确认”按钮(改约),点击选择改约原因 --> <picker wx:else range="{{reschedule_reason.range}}" bindchange="bindScheduleReasonPickerChange" data-key="{{reschedule_reason}}" value="{{datePickerIndex}}" class="datePickerConfirmButtonSelect">确认</picker> </view> </view> </template>
最后一次编辑于  2018-08-25
回答关注问题邀请回答
收藏

1 个回答

  • ZH
    ZH
    2018-08-27

    楼主怎么解决这个问题的  ?

    2018-08-27
    赞同
    回复 5
    • +0
      +0
      2018-08-27

      没有解决……所以才来发帖的

      2018-08-27
      回复
    • ZH
      ZH
      2018-08-27回复+0

      我也遇到这个问题  网上也搜了很多  也是没有找到解决办法   到最后不行的话 就不用 下拉刷新了

      2018-08-27
      回复
    • +0
      +0
      2018-08-27回复ZH

      产品说我这个页面必须要下拉刷新……然后就很尴尬了

      2018-08-27
      回复
    • ZH
      ZH
      2018-08-27回复+0

      现在是只要用就会影响  苹果端的没事   安卓端的不行

      2018-08-27
      回复
    • +0
      +0
      2018-08-27回复ZH

      是的,我这边测试也是这个结果

      2018-08-27
      回复