html52.com
我爱小程序-开发者交流社区

scroll-view开启下拉刷新,内部元素使用flex布局,出现大量空白

框架类型 问题类型 API/组件名称 终端类型 微信版本 基础库版本
小程序 Bug scroll-view 微信iOS客户端 7.0.13 2.12.2

index.wxml

<view class="page">
  <scroll-view
    class="scroll"
    style="height: 100%"
    scroll-y="{{true}}"
    enhanced="{{true}}"
    refresher-enabled="{{true}}"
    refresher-threshold="{{50}}"
    refresher-default-style="white"
    refresher-background="#eee"
  >
    <view class="scroll-content">
      <block wx:if="{{listData.length}}"></block>
      <view class="list">
        <view class="item" wx:for="{{listData}}" wx:key="id">{{item.data}}</view>
      </view>
    </view>
  </scroll-view>
</view>

index.wxss

page {
  height: 100%;
}

view,
text,
scroll-view {
  box-sizing: border-box;
}

.page {
  height: 100%;
}

.scroll-content {
  background-color: #eeeeee;
  min-height: 100%;
  border: 1px solid burlywood;
}

.scroll{
  height: 100%;
}

/* flex布局 */
.list {
  display: flex;
  flex-direction: column-reverse;
  justify-content: flex-start;
  align-items: flex-start;
  width: 100%;
  min-height: 100%;
}

.item {
  width: 100%;
  min-height: 50rpx;
  margin-top: 10rpx;
}

index.js

Page({
  data: { listData: [] },

  onLoad: function (options) {
    this.loadData();
  },

  loadData() {
    let startIndex = this.data.listData.length;
    let newData = {};
    Array.from({ length: 30 }).forEach((_, index) => {
      newData[`listData[${startIndex}]`] = {
        id: `id_${startIndex}`,
        data: `${startIndex + 1}_data_高度不定的item`,
      };
      startIndex++;
    });
    this.setData(newData);
  },
});


开发工具中没问题,ios预览滚动到底部会有大量空白高度。

机型:iPhone XR

ios系统版本:13.3.1

ios系统版本:13.3.1关闭下拉刷新后没有此问题。

关闭下拉刷新后没有此问题。

网友回复

社区技术运营专员-CJiang:

你好,麻烦提供出现问题的具体机型、微信版本号、系统版本号,以及能复现问题的代码片段(https://developers.weixin.qq.com/miniprogram/dev/devtools/minicode.html

H:

注释包裹元素scroll-content后,空白出现在顶部

<view class="page">
  <scroll-view
    class="scroll"
    scroll-y="{{true}}"
    enhanced="{{true}}"
    refresher-enabled="{{true}}"
    refresher-threshold="{{50}}"
    refresher-default-style="white"
    refresher-background="#eee"
  >
    <!-- <view class="scroll-content" id="scroll-content"> -->
    <block wx:if="{{listData.length}}">
      <view class="list">
        <view class="item" wx:for="{{listData}}" wx:key="id" id="{{item.id}}">{{item.data}}</view>
      </view>
    </block>
    <!-- </view> -->
  </scroll-view>
</view>


评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

真正的个人免签约支付接口

云免签H5支付