之前做个一个多个tab的列表页,每个tab下的内容对应的就是swiper,而小程序的swiper的高度默认是150px,不能自适应内容高度,最开始我们的列表内容每个卡片的高度都是差不多的,当时做的是把每个卡片高度固定400px,然后用固定的高度*每个tab下卡片的数量来得到每个swiper的高度,具体博客链接:https://blog.youkuaiyun.com/this_ITBoy/article/details/103869457。但是,后来出了新的需求,如图:
可以看到,第一个卡片加入了物流的信息,而第二个卡片没有物流信息,这样的话,高度肯定不能固定成一样的了,所以需要分别计算出每个tab下的swiper里面的每个卡片的高度然后乘以卡片数量,才能动态得到每个swiper的高度。改动的代码如下:
1、data里面添加一个orderListHeight对象:
data: {
...以前的数据不变,
orderListHeight:{}//每个swiper的对应高度存放对象
},
2、请求列表数据的时候,每次加载不同的tab展示出不同的swiper,需要计算不同的高度,并保存到data的orderListHeight对象中: