iis服务器助手广告
返回顶部
首页 > 资讯 > 移动开发 >uni-app/微信小程序:scroll-view纵向滚动高度自适应flex布局填充剩余高度
  • 816
分享到

uni-app/微信小程序:scroll-view纵向滚动高度自适应flex布局填充剩余高度

微信小程序uni-app小程序 2023-09-13 07:09:15 816人浏览 独家记忆
摘要

目录 文档方案1:js计算高度方案2:使用flex布局参考 文档 uni-app文档:https://uniapp.dcloud.net.cn/component/scroll-vie

目录

文档

  • uni-app文档:https://uniapp.dcloud.net.cn/component/scroll-view.html

使用竖向滚动时,需要给 一个固定高度,通过 CSS 设置 height

  • 微信文档:Https://developers.weixin.qq.com/miniprogram/dev/component/scroll-view.html

使用竖向滚动时,需要给scroll-view一个固定高度,通过 WXSS 设置 height

所以,给scroll-view设置一个固定高度就可以了

方案1:js计算高度

实现原理:

通过js获取设备高度和外层父元素位置信息,动态计算出剩余高度,也就是scroll-view的高度

// 获取总高度let screenHeight = uni.getSystemInfoSync().windowHeight;// 布局位置信息const query = uni.createSelectorQuery().in(this)    query      .select('#scroll-view')      .boundinGClientRect((data) => {        // @ts-ignore        console.log('得到布局位置信息' + JSON.stringify(data))        // @ts-ignore        this.height = `height:${data.height}px;`      })      .exec()
<scroll-view           v-if="height"        :style="height"        bindscrolltolower="scrolltolower"         scroll-y>scroll-view>

js的方案有一个弊端,我实际获取布局信息的时候,并没有获取到元素的布局信息,而是获取到了整屏幕的高度

方案2:使用flex布局

该方案和小程序无关,是css的知识

使用flex纵向布局,让scroll-view占满剩余高度

布局示例

<view class="main">    <view class="title">view>    <scroll-view          scroll-top="scrollTop"          scroll-y="true"          class="scroll-view"          @scrolltolower="handleScrollToLower"        >        scroll-view>view>
.main {    height: 100%;    display:flex;    flex-direction: column; // 竖向排列}.title{    height: 100rpx;}.scroll-view {    flex: 1;    // 撑满剩余高度    height: 0;  // 关键属性,否则scroll-view不生效}

关键属性是height: 0,如果没有该属性,高度会溢出,不会出现滚动效果

还有一个注意的点,要一直向上检查父元素的高度都是height: 100%;

参考

来源地址:https://blog.csdn.net/mouday/article/details/129715805

--结束END--

本文标题: uni-app/微信小程序:scroll-view纵向滚动高度自适应flex布局填充剩余高度

本文链接: https://www.lsjlt.com/news/405555.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作