list动态渲染时item上的animationend事件存在丢失情况
发布于 6 年前 作者 fqiu 3601 次浏览 来自 问答
  • 当前 Bug 的表现(可附上截图)

list动态渲染时,若rerender前的某个item正在动画,rerender后该item的动画效果会消失,并且无法触发animationend事件。

给我的感觉是,虽然给列表的每个item都定义了key,但列表重新渲染后,key值保持不变的item似乎也重新渲染了,导致动画消失?

  • 预期表现

list动态渲染时,rerender前的item上的animationend事件依然会触发。

  • 提供一个最简复现 Demo

见代码片段。

点击“新增动画”可以新生成一个动画item无问题。__连击快速生成两个及两个以上__动画item时,即列表重新渲染后,第二个item的onanimationend事件不会触发。

困惑求救,感谢!

2 回复

animation有延迟,如果你的点击时间间隔快于设定的时间,splice准备删除第一个的时候,第二个元素已经加进来了,第一个删除时,第二个准备删除,且下标为第一个元素的下标+1,但是等到第一个删除时,第二个元素的下标已经改变了,所以删除时为当时的小标,此时第二个元素已经不再原来的位置,连点三下,四下,以此类推

遇到同样的问题,请问后面怎么解决的。

回到顶部