收藏
回答

swiper 轮播能否动态添加swiper-item数量?

问题模块 框架类型 问题类型 API/组件名称 终端类型 微信版本 基础库版本
API和组件 小程序 Bug swiper 微信iOS客户端

swiper能在滑动的过程中, 滑动到指定的某一个swiper-item 然后动态再添加swiper-item. 比如一开始只有3个swiper-item, 滑动到第三个的时候,再新增三个,现在总共就是6个

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

4 个回答

  • 啊呜
    啊呜
    01-10

    提供方法:

    首先页面需要像楼上的兄弟说的,需要wx:for 循环。在swiper上使用 bindchange,JS里捕获e.detail.current

    JS方面:

    判断你的当前捕获事件current页是否为最后,例如你页面渲染同时显示3个item,JS里默认首组item的数量为8,那么最后的判定条件为current==5。条件为真时请求下一组数据然后推进数据绑定的data里就可以渲染出来了。刚实测过,可行。

    有老兄说数据拉取次数过多过大会降低运行速度。可以考虑用wx:if判断多余的数据是否需要渲染出来,或者用hidden。但是我印象里hidden是占用资源的。目前我还没有太多数据测试。

    

    01-10
    赞同
    回复 1
    • zx
      zx
      01-11
      多谢
      01-11
      回复
  • 老张
    老张
    01-08

    可以。wx:for了解一下。

    01-08
    赞同
    回复
  • 仙森ღ₅₂₀¹³¹⁴
    仙森ღ₅₂₀¹³¹⁴
    01-08

    你试下动态设置轮播数组的长度

    01-08
    赞同
    回复
  • 无已言
    无已言
    01-08

    将后面三个swiper-item先隐藏,在bindchange事件中进行判断,小于3隐藏,等于3显示

    01-08
    赞同
    回复 2
    • zx
      zx
      01-08
      后三个是动态请求的 不是本地的
      01-08
      回复
    • 无已言
      无已言
      01-08回复zx
      可以先不渲染只隐藏,显示时再动态渲染
      01-08
      回复
登录 后发表内容
问题标签