小程序scroll-view区域滚动计算可滚动高度

需求
  微信小程序区域滚动,头部是标题、日期切换、下面是表头,可滚动的只有列表表体的内容;通过scroll-view组件实现表体内容的区域滚动。

在这里插入图片描述

思路:

  1. 列表页主要有标题、日期时间切换、列表表头在滚动的时候是不能动的,只有表体的数据内容可以区域滚动。表体的内容写在<scroll-view></scroll-view>组件里。
  2. 在列表页还可以切换到图表页;图表页的头部和列表共用,相当于筛选条件是一样的。图表需要滚动的也要放到<scroll-view></scroll-view>组件里。

问题:

  1. 列表页的区域滚动到最下方数据有遮挡;及图表的区域滚动最下方是有遮挡且图表不能正常上下滚动。
  2. 第一次小程序加载进来的时候,列表和图表滚动到最下面不会有遮挡,当从筛选条件页或者从详情页回来的时候,就会出现遮挡,获取的屏幕高度比首次高,导致计算的可滚动区域也变大,最下面的数据显示不全被tabBar遮挡。

解决方案:

  1. 将计算滚动高度的方法放在onReady生命周期中调用,然后给data中的变量进行赋值,这样当从详情页或者是筛选页返回的时候,只会执行onShow里的方法,使用的还是首次页面加载时获取的滚动高度。
  2. 图表滚动的时候,小程序中的 Echarts是用canvas渲染的,<ec-canvas>默认自带的有手指触摸的事件,就和scroll-view的滑动事件冲突了。
    当canvas绑定了滑动事件之后,当手指在这块区域上下滑动的时候,有时候整个滑动事件都被canvas捕获,页面获取不到滑动事件,就会导致整个界面类似卡死状态,这时候只能滑动canvas之外的界面才能触发界面上下滑动。
    在这里我将canvas的事件删除,就解决了冲突。由于我们暂时没有触摸的需求(不建议这么做,因为无法触摸图表,导致无法选中图表去显示一些提示的详情信息)

代码:

list.wxml

<view class="tableList">
    <view class="listHead">
      <view>排名</view>
      <view>影片名</view>
      <view wx:for='{
    { selectList }}' wx:key="index">{
  { item.nameC }}</view>
    </view>
    
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值