微信小程序 动态加载swiper时不显示的问题(爬坑)

1,001 阅读1分钟

问题一

报错信息

TypeError: Cannot read property '?' of undefined
    at HTMLElement._attached.wx.getPlatform._touchstartHandlerForDevtools

解决方法:因为小程序会保留上一次滑动swiper时候的current,所以会出现上次滑动到的current在这次的数据中不存在问题,所以,每次动态加载swiper-item前,需要设置swiper的current属性为0

问题二

swiper 的current每次设置了0,但是还是不显示 swiper,检查元素是存在的,并且current = -1

<swiper current='-1'><swiper>

解决方法,动态设置swiper-item的数据时,还需设置current = 0, 并且current和swiperList不能在一个this.setData中设置, 要先setData swiperList 然后在setData current 我是这样写的:

this.setData({
  swiperItem: list
},()=>{
  this.setData({
    current: 0
  })
})
//在每次给swiper赋值之后在它的回调中在赋值current

之后没有问题成功解决,希望对你有所帮助。 参考:

  1. blog.csdn.net/m0_37270964…

  2. www.aiyingli.com/50779.html

  3. developers.weixin.qq.com/community/d…

  4. html52.com/archives/11…