PageView 动态创建数据无动画效果的问题

  • Creator 版本:3.6.1

准备实现一个详情页卡片轮播的逻辑。点击下一步,然后到一定长度会删除第一个,在默认添加一个。
但发现一旦执行 removePageAtIndex 会导致不触发滚动动画,但数据是变化的。是因为更新时机的问题么?
尝试过一直 addPage 是有动画效果的。

this.PageViewNode.removePageAtIndex(0);
this.PageViewNode.addPage(detailNode);
this.scheduleOnce(() => {
    this.PageViewNode.scrollToPage(this.pageViewIndex, 0.3);
}, 0);

改为先翻页在延迟操作也不行

this.PageViewNode.setCurrentPageIndex(this.pageViewIndex);
this.scheduleOnce(() => {
     this.PageViewNode.addPage(detailNode);
     this.PageViewNode.removePageAtIndex(0);
}, 0.3);

找问题所在了。发现 removePage 会整体向前移动,此时我进行了 addPage。导致瞬移了。应该说添加或删除节点会出发重新排序,且列表会保持当前的偏移。

要不别删除第一个
直接把第一个的数据更新成新的数据?

这样没有动画效果了。目前需要根据源码修改一些逻辑了或者就不删除了。。。。目前数据量不大。