收藏
回答

swiper组件高度适应问题?

swiper组件内包含了image和text组件,其内容是从后台传过来,渲染的时候出现问题了。后台传过来的数据渲染后,每一个页面高度不一致,而swiper组件高度必须固定,这就导致了内容显示不全或者空余。我的思路是使用wx.createSelectorQuery()件获取子组件数染后的高度,然后传递给swiper,但是显示Cannot read property 'height' of null错误,猜想是组件还未渲染完毕。请问大家要怎么解决上述问题。

回答关注问题邀请回答
收藏

1 个回答

  • jsjdhshsks
    jsjdhshsks
    01-17

    子组件从后台获取数据后渲染,swiper根据子组件渲染后的高度自动适应,有解决的法子吗?请问大家

    01-17
    有用
    回复 5
    • |G.XIAO|
      |G.XIAO|
      01-18
      方案1.高度可以在后端返回数据的时候,把每一个swiper的item高度一并返回来
      方案2:如果 image 和 text 最大高度是 image 决定的,可以在 image 绑定 onload事件,然后获取去高度,然后在赋值给 swiper 的item项

      比较好的方案时每个swiper 应该是定高,如果元素小于固定高度,就居中显示呗。

      wx.createSelectorQuery()件获取子组件数染后的高度,可以通过轮询,或者通过setData 的回调函数获取
      01-18
      回复
    • jsjdhshsks
      jsjdhshsks
      01-18回复|G.XIAO|
      好的,非常谢谢,我试一试
      01-18
      回复
    • jsjdhshsks
      jsjdhshsks
      01-18回复|G.XIAO|
      直接在onload事件里调用wx.createSelectorQuery()方法显示null错误
      01-18
      回复
    • jsjdhshsks
      jsjdhshsks
      发表于移动端
      01-18回复|G.XIAO|
      我直接在onload函数里使用settimeout,excited. createSelectorQuery()获取到已经渲染完毕的子组件高度,再setData给swiper😂
      01-18
      回复
    • |G.XIAO|
      |G.XIAO|
      01-19回复jsjdhshsks
      真棒,是滴
      01-19
      回复
登录 后发表内容
问题标签