世界上只有一种英雄主义,那就是在认清生活的真相后还依然热爱生活。
前言
Banner在应用中算是很常见的组件了,然而这么一个常见的组件今天突然有问题了,现象是UI直接报红,然后Banner好像被盖了一层在上面,但是还是可以看到下面在滚动,且手势没有作用。我用的是三方库Swiper
,开始想着自己找原因,找了半天还是放弃了,后来在度娘的帮助下解决,在此记录一下。
正文
废话不多说,先上解决方法,在Swiper
组件上添加key
:
Swiper(
key: UniqueKey(),
...
)
经过分析,出现报错的场景是,在Swiper
滑动的时候,这时候修改了数据源的个数,然后会报错,但是这个错误不是必现,不过出现的概率挺高,这和设置的自动轮播的时间有关。报错代码是:
然后查看
_startAutoplay()
,经过一通找,找到轮播的时候会调用下面方法:
然后我的实力就只到这了,有大佬可以指点一下为啥。
后记
目前水平欠缺,有时间查查UniqueKey()
这个有啥作用,有大佬知道也可以留言交流。