微信小程序 - scroll-view 的一些要点(scroll-view 需要设置滚动方向、scroll-view 需要设置高度)

scroll-view 需要设置滚动方向

html 复制代码
<view class="page-container">
    <view class="other-data">other content</view>
    <scroll-view class="data-list">
        <view class="data-item">some content</view>
        <view class="data-item">some content</view>
        <view class="data-item">some content</view>
        <view class="data-item">some content</view>
        <view class="data-item">some content</view>
    </scroll-view>
</view>
css 复制代码
Page {
  width: 100%;
  height: 100%;

  .page-container {
    width: 100%;
    height: 100%;

    .other-data {
      height: 200rpx;
      background-color: aquamarine;
    }

    .data-list {
      box-sizing: border-box;
      width: 100%;
      height: calc(100% - 200rpx);
      padding: 40rpx;

      .data-item {
        box-sizing: border-box;
        width: 100%;
        height: 500rpx;
        border: 1rpx solid #bbbbbb;
        margin-top: 40rpx;

        &:first-child {
          margin-top: 0rpx;
        }
      }
    }
  }
}
  • 在上述代码中,scroll-view 无法滚动,因为 scroll-view 默认不滚动,需要明确设置 scroll-x 或 scroll-y 属性
html 复制代码
<scroll-view class="data-list" scroll-y>
    
    ...

</scroll-view>

scroll-view 需要设置高度

html 复制代码
<view class="page-container">
    <view class="other-data">other content</view>
    <scroll-view class="data-list" scroll-y>
        <view class="data-item">some content</view>
        <view class="data-item">some content</view>
        <view class="data-item">some content</view>
        <view class="data-item">some content</view>
        <view class="data-item">some content</view>
    </scroll-view>
</view>
css 复制代码
Page {
  width: 100%;
  height: 100%;

  .page-container {
    width: 100%;
    height: 100%;

    .other-data {
      height: 200rpx;
      background-color: aquamarine;
    }

    .data-list {
      box-sizing: border-box;
      width: 100%;
      padding: 40rpx;

      .data-item {
        box-sizing: border-box;
        width: 100%;
        height: 500rpx;
        border: 1rpx solid #bbbbbb;
        margin-top: 40rpx;

        &:first-child {
          margin-top: 0rpx;
        }
      }
    }
  }
}
  • 在上述代码中,scroll-view 无法滚动,实际滚动的是 view:page-container(因为 view:other-data 被连带滚动),scroll-view 未设置高度,无法计算可滚动区域,导致无法滚动
css 复制代码
.data-list {
    height: calc(100% - 200rpx);

    ...
}
相关推荐
lhldsg4 小时前
全民健身解决方案软件开发实战:从架构设计到部署指南
java·前端·数据库·小程序
四六的六4 小时前
让 AI 自己去点后台页面,它把我们的库存点没了
前端·人工智能·agent·个人开发·ai编程·ai产品·ai前端
两点王爷4 小时前
Java 与前端加载 MVT 数据:从服务端切片到浏览器渲染
java·前端·状态模式
en.en..4 小时前
C语言核心解析:#define与typedef本质区别
开发语言·c++·算法
2601_966949654 小时前
批量获取多只股票五档盘口的极简方案:QuantDash Python SDK 实战指南
开发语言·python·数据分析·pandas·量化交易·股票数据·quantdash
小码过河.4 小时前
oceanbase中zone和observer、分区表之间关系
前端·数据库·oceanbase
点心的游戏开发世界5 小时前
GDScript 入门笔记:目录
开发语言·笔记·游戏引擎·godot
洋不写bug5 小时前
二叉树(二) 常见基础操作解析|结点数、树高、查找结点、判断完全二叉树
java·开发语言·数据结构·完全二叉树·二叉树结点数·树高·查找结点
果果燕5 小时前
实习笔记(六)主机按钮状态上报完整流程
开发语言·c++·php
平头哥技术团队5 小时前
Day 16 | 用 ul、ol、li 一个标签,把散资料收成有序的技能清单页
开发语言·前端·html·html5