收藏
回答

动态修改swiper数据,item渲染顺序和数据顺序不一致,并且导致空白

框架类型 问题类型 API/组件名称 终端类型 操作系统 微信版本 基础库版本
小程序 Bug swiper 微信iOS客户端 Android 6.6.7 2.2.2

动态修改数据



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

2 个回答

  • MINGO
    MINGO
    2020-08-06

    确保遍历生成的的wx:key的唯一性,不要设置swiper-item的item-id。自己来控制swiper的current,不要溢出。

    程序在设置current时,如果要禁止掉动画,可以将duration设置为0,完成之后再将duration设置回来,不影响滑动效果

    2020-08-06
    有用
    回复
  • 冬寒季
    冬寒季
    2018-12-27

    调试工具中的确会出现该问题,动态调整swiper-item的个数,就很容易出现某个视图空白,滑动动画也会异常,实际内容貌似是存在的,猜测是位置处理不正确。

    看了下,动态调整swiper-item数目之后,引起transform混乱导致的。

    尝试了几种方式,想从外部解决,貌似都不行。毕竟不能处理组件内部实现,还是希望官方能够修复。

    2018-12-27
    有用
    回复 2
    • wz.zhao
      wz.zhao
      2018-12-28

      都好久几个月了, 也不指望修复了

      2018-12-28
      回复
    • 冬寒季
      冬寒季
      2018-12-28回复wz.zhao

      因为我是两种视图模式切换,涉及的swiper-item个数不一样,尝试了多种方式,比如添加skip-hidden-item-layout,设置display:none,保持swiper-item个数不变。因为在web端动画有时候也会引起一些诡异的问题,也尝试添加transform:translate3d(0,0,0)开启硬件加速。问题都得不到解决。观察了下,应该是内部处理transform引起的混乱,切换swiper会重新计算多个swiper-item的位置。

      由于我是两种视图模式切换,暂时使用的一个临时视图来切换,切换视图时,先进入一个临时视图,再通过临时视图进入切换之后的视图。

      没办法,目前只能这样暂时解决了!

      2018-12-28
      回复
登录 后发表内容