- 需求的场景描述(希望解决的问题)
使用swiper的时候他的高度都是统一的,目前使用swiper时,里面的内容高度不一,就会被遮挡,无法看到swiper高度超出的内容,
目前只能使用:
setTimeout(function() {
//创建节点选择器
var query = wx.createSelectorQuery();
//选择id
query.select('目标位置').boundingClientRect()
query.exec(function(res) {
//res就是 所有标签为mjltest的元素的信息 的数组
//取高度
that.setData({
mcon_height: res[0].height + res[0].top
})
})
}, 2000)
来解决,但是存在延时的弊端,一旦在其延时的时间内,进行其他操作,就会导致无法进行延时的加载。
- 希望提供的能力
增加一个flag,能够自动获取swiper组件内其内容的高度,同时改变swiper的高度。
小程序好像没有像vue那样有nextTick的能力,如果是碰到异步加载数据的时候,根本就没有办法准确等到dom渲染完成再计算高度。这个也是一个坑。
目前我都是直接在onPageScroll中节流去计算高度的。
之前我是里面套scroll-view来解决,确实会巨卡无比,后期的话打算直接去掉swiper,用css3做成swiper效果,用点击和手指滑动的方式触发
不过,节点一多,bindscroll,反应会巨慢
同时发起两个查询,安卓机巨卡!
这延时问题解决了吗 我也碰到了同样的问题
没有,可以考虑换个做法,用swiper中,再套个scroll-view。
https://developers.weixin.qq.com/miniprogram/dev/component/scroll-view.html
这个方案,如果scroll-view里面放了原生组件,就会变得巨卡无比
你好,你的反馈我们已收到,我们会在后续的版本中考虑增加类似功能。
确实,自己算的height在set过去,会带来一系列的bug