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

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

uniapp中解决swiper高度自适应内容高度_第1张图片
uniapp中解决swiper高度自适应内容高度_第2张图片

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

方法:

template中的内容:


				
					
						{{tab.cat_name}}
					
				
				
				
					
						
							
									
									
										
											
											
												
											
											
											{{itemA.cat_name}}
										
									
							
						
					
				
			

data中的数据:


this.$nextTick(() => {
							// tab切换中swiper高度自适应内容高度
							uni.createSelectorQuery().select('此次为想获取的元素的id名(#xxx)或者类名(.xxx)').boundingClientRect(rect=>{
								console.log('打印该盒子的元素',rect.height);
								// console.log('打印swiperHeight的数值',this.swiperHeight);
							}).exec()
						});

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

最后结果:

此时swiper的高度已经被重新更改为102px (此数值为动态可变数值,取决于内容高度)
uniapp中解决swiper高度自适应内容高度_第3张图片
uniapp中解决swiper高度自适应内容高度_第4张图片

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





















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

你可能感兴趣的:(uni-app,前端,javascript)