当前位置: 首页 > news >正文

uniapp微信小程序swiper高度自适应

用 JS 动态获取 swiper-item 的真实高度,再赋值给 swiper。

记录本次解决问题方法(实则是鞭策ai出来的_(:_」∠)_)

先确认页面渲染和获取dom元素高度时机

此页面为:

<swiper :style="{ height: swiperHeight + 'rpx' }" @change="onSwiperChange" > <swiper-item class="swiper-item" v-for="item in list" :key="item.id" > <!-- swiper内容 --> <image :src="item.img" @load="setSwiperAutoHeight"></image> </swiper-item> </swiper>
data() { return { swiperHeight: 360,//默认高度 } }
onReady() { this.setSwiperAutoHeight() // 页面一出来,就量一次高度 }, watch: { list3() { this.setSwiperAutoHeight() // 列表数据变了 → 重新量高度 } }
methods:{ onImageLoad() { this.setSwiperAutoHeight(); // 图片加载完重新量一次 }, onSwiperChange(e) { this.setSwiperAutoHeight(); // 切换也重新量 }, setSwiperAutoHeight() { this.$nextTick(() => { // 等 DOM 渲染完 setTimeout(() => { // 延迟 700ms,等图片、文字全部渲染完成 const query = uni.createSelectorQuery().in(this); // 创建测量工具 query .selectAll(".swiper_card_item") // 找到所有 swiper 卡片 .boundingClientRect((rects) => { // 【量每个卡片的真实高度】 if (!rects || rects.length === 0) return; let maxHeight = 0; rects.forEach((r) => { if (r.height > maxHeight) maxHeight = r.height;// 找出最高的卡片高度 }); this.swiperHeight = maxHeight / this.rpxRatio;// 把最高高度赋值给 swiper }).exec(); // 开始测量 }, 700); }); }, }
.swiper_card { padding: 10rpx 20rpx 20rpx; background-color: #f7f7f7; } /* 核心样式:item高度自适应*/ .swiper_card_item { width: 100%; height: auto !important; overflow: visible !important;//这个其实无所谓 background: #fff; border-radius: 20rpx; display: flex; flex-direction: column; }
http://www.jsqmd.com/news/545102/

相关文章:

  • OpCore-Simplify终极指南:如何用一款工具让黑苹果配置变得如此简单
  • OpenClaw+GLM-4.7-Flash:自动化社交媒体发布
  • OpCore Simplify:零基础黑苹果配置的智能助手
  • 短信营销HTTP接口开发规范:基于RESTful/HTTP协议的营销短信API调用实现方案
  • 2026年金属复合板/冰火板/隧道板/无机预涂板厂家推荐:中城科工新材料有限公司全系板材供应 - 品牌推荐官
  • Gemma-3 Pixel Studio落地案例:农业病害叶片图→症状识别→防治建议
  • 西数硬盘盘片损坏数据还能恢复吗?杭州专业二次开盘数据恢复中心推荐
  • 3步构建智能自动化:Agent-S CI/CD工作流实战指南
  • 别只盯着答案!用2022蓝桥杯Java B组真题,带你吃透“最少刷题数”背后的中位数思想
  • 电机无感控制在零低速工况下就像玩捉迷藏——转子位置得靠特殊手段来捕捉。高频方波电压注入法这两年挺火,咱们今天拆开一个实际落地的仿真模型看看门道
  • 7个进阶技巧:Juice CSS内联工具完全掌握
  • 2026年工程机械链条厂家推荐:泉州市华征工程机械有限公司E349/E326/SK350等全型号供应 - 品牌推荐官
  • PCB画板时的操作——扇出
  • OpCore-Simplify技术解构:自动化EFI构建的底层逻辑与实践指南(2024深度版)
  • Vivado时序约束实战:get_clocks命令的5个高频用法与避坑指南
  • 游戏电竞护航陪玩源码系统小程序:全开源商用体系 解锁电竞陪玩赛道增长新引擎 - 壹软科技
  • 用Python+OpenCV玩转格雷码:从编码原理到DLP4500投影实战
  • Python中处理CSV文件的编码问题
  • 基层慢病管理新助力:优质生理参数检测仪厂家推荐 - 品牌2026
  • 印刷粘箱打包联动线怎么选?2026年口碑品牌一览,水墨印刷开槽机/印刷联动线,印刷粘箱打包联动线直销厂家分析 - 品牌推荐师
  • 5分钟搞定GitHub访问难题:fetch-github-hosts终极加速指南
  • 告别数据荒!这5个免费GNSS与湖泊水位数据网站,科研与工程都能用
  • OpenClaw多通道通知:百川2-13B任务结果同时推送邮件与飞书
  • SDMatte模型版本管理实践:使用Git与Docker Tag进行迭代
  • OpCore-Simplify:让黑苹果配置自动化的零代码工具 - 新手友好的OpenCore EFI生成方案
  • FanControl 262版:3大突破让你的电脑彻底告别风扇噪音困扰
  • 北京美国留学:DIY还是找留学中介助力?看完这篇不踩坑! - 资讯焦点
  • Steam小众神作《cypher》试玩报告:93%好评的密码学游戏到底有多硬核?
  • 5分钟搞定:在Leaflet中加载高德、谷歌、腾讯地图瓦片的完整代码示例
  • 解析GT Show性能图腾:差动十活塞排列与第三代竞技卡钳的散热重构 - RF_RACER