uni-app如何使用uni.getSystemInfoSync( ) API给分类页面的<scroll-view>设置滚动区域高度

1,259 阅读1分钟

在uni-app中,可以使用uni.getSystemInfoSync() API获取系统信息,然后根据系统信息计算并设置<scroll-view>的滚动区域高度。与uni.getSystemInfo()不同的是,uni.getSystemInfoSync()是同步方法,可以在页面加载时立即获取系统信息。具体操作如下:

  1. 在分类页面的<scroll-view>标签中,设置一个固定的高度。例如:
<scroll-view class="scroll-view" :style="`height: ${scrollViewHeight}px;`">
  <!-- scroll-view的内容 -->
</scroll-view>
  1. 在分类页面的<script>标签中,使用uni.getSystemInfoSync() API获取系统信息,并根据系统信息计算并赋值滚动区域的高度。例如:
export default {
  data() {
    return {
      scrollViewHeight: 0
    };
  },
  async onLoad() {
    const res = await uni.getSystemInfoSync();
    // 获取页面高度
    const windowHeight = res.windowHeight;
    // 计算滚动区域高度
    this.scrollViewHeight = windowHeight;
  }
}

在上述代码中,通过uni.getSystemInfoSync()方法同步获取系统信息,并将结果保存在res变量中。然后,将windowHeight作为滚动区域的高度赋值给scrollViewHeight变量。

  1. <style>标签中,设置.scroll-view的样式,保证其高度占满整个页面。例如:
.scroll-view {
  height: 100%;
}

通过以上操作,可以使用uni.getSystemInfoSync() API获取系统信息,并根据系统信息计算并设置<scroll-view>的滚动区域高度。需要注意的是,uni.getSystemInfoSync()是同步方法,可以在页面加载时立即获取系统信息,但也需要注意在某些情况下可能会导致页面加载时间较长。