天天看点

swiper高度自适应_swiper高度自适应子元素的高度

示例图:上面的三个tab是swiper,然后红框内的高度不固定的情况下,让swiper高度自适应循环渲染出来的高度加上面的高度。

swiper高度自适应_swiper高度自适应子元素的高度

解决代码:

xwml

这里面便是一个一个不同高度的列表

js

// 获取wxml的节点信息

function get_wxml(className,callback) {

wx.createSelectorQuery().selectAll(className).boundingClientRect(callback).exec()

}

onReady: function() {

let column_all = that.data.column_list[that.data.current].viewLessonList,// 这个是基于java端返回的tab栏的接口,大致样式如上图,也就是每个列表,

channel_id = that.data.column_list[that.data.current].channelId // 我们这个就是求出目前的channelId,好区分不同的类名

that.setData({

swiper_length: column_all.length // 算出当前tab栏有多少个列表

})

get_wxml(`.column-list${channel_id}`,(rects) => {

let sum_heigth = 0

for (let i = 0; i < that.data.swiper_length; i++) {

sum_heigth += rects[i].height

}

that.setData({

swiper_height: sum_heigth

})

// 就是循环相加每个列表的高度,然后赋值给swiper_height,便可以求出当前tab栏的高度,赋值给swiper 便可以swiper高度自适应

})

}