data: {
h: ["1", "2", "3"]
}
将 h 数组的 value 作为前台的 id。
wxs 内的删除方法:
this.data.h.splice(e.target.id, 1)
this.setData({
h: this.data.h
})
console.log(e);
console.log(e.currentTarget.id);
console.log(this.data.h);
删除e.taget.id = 0 和 e.taget.id = 1 的时候没问题,当 e.target.id = 2 的时候,spilce 完以后,整个页面显示为空,console 控制台无任何报错。经过测试,只要删除最后一个元素,页面循环生成的swiper就不显示了,什么都没有,但是log打印出数组还是正常的。
删除数组元素的时候没有把swiper的current属性值同步改下,删除前两个没有问题是因为current为0和1的时候即便你删除了一个元素都能取到数组里的值,当current为2的时候,你删除了数组元素,但是current的值还是2,所以取不到值,页面显示空白!
你说的很对,确实是这个问题,已经改了,感谢!
我也遇到了,请问怎么改的,我把current值减了1,还是不行
请问是怎么解决的?
我也碰到这个问题,数组长度缩减,也重新设置了current=0,但current还是会取到超出数组长度的值,然后swiper就空白了
每次console.log看一下你的current值,是不是在动态更新。这个问题确实是删除后没有更新current导致的。
谢谢,我现在改成每次判断current是否超出数组范围,超出了就取模