微信小程序之scroll-view自适配屏幕高度解决方案

需求说明:

一般用于列表数据的展示(带有搜索框),根据官方文档,scroll-view需要固定一个高度,那么,对于不同的手机分辨率来说,可能显示的效果就不一样了,有的没到底,有的显示不全等等

解决方案: 

不同的手机,但是可以通过计算,获取到scroll-view的填充高度。

页面效果:

具体方法:

// 第一步 先取出页面高度 windowHeight
    wx.getSystemInfo({
      success: function(res) {
          self.setData({
              windowHeight: res.windowHeight
          });
      }
    });
    // 第二步 然后取出 搜索框布局 的高度
    // 根据文档,先创建一个SelectorQuery对象实例
    let query = wx.createSelectorQuery().in(self);
    // 然后逐个取出节点信息
    // 选择器的语法与jQuery语法相同
    query.select('#id_v_search').boundingClientRect();
    // 执行上面所指定的请求,结果会按照顺序存放于一个数组中,在callback的第一个参数中返回
    query.exec((res) => {
      // 取出 搜索框布局 的高度
      let reduceHeight = res[0].height;
      // 然后就是做个减法
      let scrollViewHeight = self.data.windowHeight - reduceHeight;
      // 算出来之后存到data对象里面
      self.setData({
        scrollViewHeight: scrollViewHeight
      });
    });
<view id="id_v_search" class="v_title">搜索框布局</view>
<scroll-view class="s_view" style="height: {{scrollViewHeight}}px;" scroll-y="true" bindscrolltolower="loadMoreData">
  <block wx:for="{{dataList}}" wx:key="index">
    <view class="v_item">{{item.title}}</view>
  </block>
</scroll-view>

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值