uniapp scroll-view 组件无法确定内容的固定高度 怎么解决

问题描述

scroll-view组件无法确定内容的高度

思路

  1. 使用可视高度
  2. 动态生成高度

代码

使用视口高度
<template>
  <view>
    <scroll-view class="scroll-view" :scroll-y="true">
      <!-- 内容 -->
    </scroll-view>
  </view>
</template>

<style scoped>
.scroll-view {
  height: 100vh; /* 设置高度,这里使用视口高度的 100% */
}
</style>

在上述示例中,scroll-view 使用 scroll-y 属性来启用垂直滚动。高度被设置为视口高度的100%(100vh),这是一种在不知道固定高度的情况下,使其占据整个屏幕高度的一种常见做法。

使用动态计算高度

如果你无法确定内容的固定高度,可以使用 JavaScript 动态计算高度并设置给 scroll-view。通过 ref 引用获取 scroll-view 的实例,并使用 setStyle 方法设置高度。calculateContentHeight 方法用于根据实际情况计算内容的高度。

<template>
  <view>
    <scroll-view class="scroll-view" :scroll-y="true" ref="scrollView">
      <!-- 内容 -->
    </scroll-view>
  </view>
</template>

<script>
export default {
  mounted() {
    // 获取内容高度并设置给 scroll-view
    const contentHeight = this.calculateContentHeight();
    this.$refs.scrollView.setStyle({
      height: `${contentHeight}px`
    });
  },
  methods: {
    calculateContentHeight() {
      // 根据实际业务逻辑计算内容高度
      return // 计算内容高度的逻辑
    }
  }
}
</script>

<style scoped>
.scroll-view {
  overflow: hidden; /* 可以隐藏滚动条 */
}
</style>

  • 6
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值