- 当前 Bug 的表现(可附上截图)
list动态渲染时,若rerender前的某个item正在动画,rerender后该item的动画效果会消失,并且无法触发animationend事件。
给我的感觉是,虽然给列表的每个item都定义了key,但列表重新渲染后,key值保持不变的item似乎也重新渲染了,导致动画消失?
- 预期表现
list动态渲染时,rerender前的item上的animationend事件依然会触发。
- 提供一个最简复现 Demo
见代码片段。
点击“新增动画”可以新生成一个动画item无问题。连击快速生成两个及两个以上动画item时,即列表重新渲染后,第二个item的onanimationend事件不会触发。
困惑求救,感谢!
微信小程序开发问题解答
微信小程序开发者回答:
animation有延迟,如果你的点击时间间隔快于设定的时间,splice准备删除第一个的时候,第二个元素已经加进来了,第一个删除时,第二个准备删除,且下标为第一个元素的下标+1,但是等到第一个删除时,第二个元素的下标已经改变了,所以删除时为当时的小标,此时第二个元素已经不再原来的位置,连点三下,四下,以此类推
本文网址:http://www.91bianli.com/weixinxiaochengxu/1299.html