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

uniapp中解决swiper高度自适应内容高度

起因:uniapp中swiper组件swiper 标签存在默认高度是 height: 150px ;高度无法实现由内容撑开,在默认情况下,swiper盒子高度显示总是 150px

swiper组件swiper 标签存在默认高度是 height: 150px ;
在这里插入图片描述

解决办法思路: 动态设置swiper盒子的高度,故需要获取swiper-item盒子中内容的高度,然后动态的将此盒子的高度赋值给swiper盒子的高度

方法:

template中的内容:

<view class="tabBox"><view class="tabScroll"><scroll-view class="scroll-view_H" scroll-x="true" @scroll="scroll"><view class="scroll-view-item_H" v-for="(tab,index) in tabBars" :key="tab.id" :id="tab.id":class="navIndex==index ? 'activite' : ''" @click="checkIndex(index)">{{tab.cat_name}}</view></scroll-view></view><!-- 切换区域  :style="{ height: swiperHeight + 'px' }"  此是动态设置swiper的代码 --><swiper  :style="{ height: swiperHeight + 'px' }" :indicator-dots="false" :autoplay="false" class="swiper" :current="navIndex" ref="swiper" @change="tabChange"><block v-for="(item,index) in tabBars" :key="index"><swiper-item><scroll-view scroll-x="true" class="swiper-scroll" ><!-- <view class="swiper-item">{{itemA.name}}</view> --><view class="swiper-item swiperAAAAA" ><view class="boxTab" v-for="(itemA,indexA) in item.son_list" :key="indexA" @click="goToSort(itemA.cat_name, itemA.cat_fid, itemA.cat_id, 0)"><!-- 图片盒子 --><view class="tabImg"><image :src="itemA.image" alt=""></image></view><!-- 文字 --><view class="tabText">{{itemA.cat_name}}</view></view></view></scroll-view></swiper-item></block></swiper></view>

data中的数据:

<script>
export default{data(){return{navIndex: 0,// tab切换区域的高度swiperHeight:0,// tab切换数组tabBars:[{cat_name:'服装',id:1,son_list:[{image:'./static/search.png',cat_name:'内衣'},{image:'./static/search.png',cat_name:'内裤'},{image:'./static/search.png',cat_name:'袜子'},{image:'./static/search.png',cat_name:'大一'},{image:'./static/search.png',cat_name:'居家服'},{image:'./static/search.png',cat_name:'衬衫'},{image:'./static/search.png',cat_name:'外套'},{image:'./static/search.png',cat_name:'全部分类'},]},{cat_name:'饮食',id:2,son_list:[{image:'./static/search.png',cat_name:'内衣'},{image:'./static/search.png',cat_name:'内裤'},{image:'./static/search.png',cat_name:'袜子'},{image:'./static/search.png',cat_name:'大一'},]},{cat_name:'家电',id:3},{cat_name:'居家',id:4},{cat_name:'洗护',id:5},{cat_name:'婴童',id:6},{cat_name:'餐厨',id:7},{cat_name:'餐厨1',id:8},{cat_name:'餐厨2',id:9},{cat_name:'餐厨3',id:10},],}}
}
</script>
this.$nextTick(() => {// tab切换中swiper高度自适应内容高度uni.createSelectorQuery().select('此次为想获取的元素的id名(#xxx)或者类名(.xxx)').boundingClientRect(rect=>{console.log('打印该盒子的元素',rect.height);// console.log('打印swiperHeight的数值',this.swiperHeight);}).exec()});

以上代码则为获取元素内容高度的方法(直接拿下用即可)

最后结果:

此时swiper的高度已经被重新更改为102px (此数值为动态可变数值,取决于内容高度)
在这里插入图片描述
在这里插入图片描述

到此为止则swiper高度自适应问题就解决了





















     目标不是都能达到的,但它可以作为瞄准点。。

相关文章:

  • 后端返回图片流前端展示图片
  • 【蓝桥杯软件赛 零基础备赛20周】第5周——高精度大数运算与队列
  • linux(3)之buildroot配置软件包
  • JavaScript中的时间日期函数new Date()(JS中5种获取时间戳的函数)
  • SELinux refpolicy详解(5)
  • 无人机助力电力设备螺母缺销智能检测识别,python基于YOLOv5开发构建电力设备螺母缺销小目标检测识别系统
  • [github全教程]github版本控制最全教学------- 大厂找工作面试必备!
  • uniapp uni-popup组件在微信小程序中滚动穿透问题
  • python获取网络时间,0延时
  • 使用Xshell启动远程服务器上的tensorboard:本地浏览器打开
  • uniapp在H5端实现PDF和视频的上传、预览、下载
  • 国家开放大学 平时作业 测试题 训练
  • visual Studio MFC 平台实现图像增强中Gray-level slicing,Bit-plane slicing,对比度拉伸三种方法
  • ECShop 4.x collection_listSQL注入
  • 软考2016年上半年第六题(适配器模式)与手术训练系统项目适配器模式的应用
  • Angular 2 DI - IoC DI - 1
  • canvas 绘制双线技巧
  • gcc介绍及安装
  • input的行数自动增减
  • NLPIR语义挖掘平台推动行业大数据应用服务
  • yii2权限控制rbac之rule详细讲解
  • 阿里云购买磁盘后挂载
  • 多线程 start 和 run 方法到底有什么区别?
  • 飞驰在Mesos的涡轮引擎上
  • 技术攻略】php设计模式(一):简介及创建型模式
  • 开放才能进步!Angular和Wijmo一起走过的日子
  • 爬虫模拟登陆 SegmentFault
  • 世界上最简单的无等待算法(getAndIncrement)
  • 数组大概知多少
  • 源码之下无秘密 ── 做最好的 Netty 源码分析教程
  • #中国IT界的第一本漂流日记 传递IT正能量# 【分享得“IT漂友”勋章】
  • (C语言)共用体union的用法举例
  • (附源码)springboot学生选课系统 毕业设计 612555
  • (十一)c52学习之旅-动态数码管
  • (四)模仿学习-完成后台管理页面查询
  • (一)基于IDEA的JAVA基础12
  • (译) 理解 Elixir 中的宏 Macro, 第四部分:深入化
  • (转)Groupon前传:从10个月的失败作品修改,1个月找到成功
  • (转)创业的注意事项
  • .NET CORE 第一节 创建基本的 asp.net core
  • .NET Core IdentityServer4实战-开篇介绍与规划
  • .net core MVC 通过 Filters 过滤器拦截请求及响应内容
  • @Resource和@Autowired的区别
  • [ vulhub漏洞复现篇 ] Grafana任意文件读取漏洞CVE-2021-43798
  • [《百万宝贝》观后]To be or not to be?
  • [c++] 什么是平凡类型,标准布局类型,POD类型,聚合体
  • [cb]UIGrid+UIStretch的自适应
  • [CSS]浮动
  • [DevEpxress]GridControl 显示Gif动画
  • [flask]http请求//获取请求体数据
  • [LeetCode]—Rotate Image 矩阵90度翻转
  • [linux] 创建用户
  • [luoguP3159] [CQOI2012]交换棋子(最小费用最大流)
  • [Oh My C++ Diary]operator++()和operator++(int)的区别
  • [one_demo_8]十进制转二进制