SwiftData|ModelActor 与withAnimation 动画

了解如何在使用 ModelActor 操作数据时,正确添加动画效果。

SwiftData|ModelActor 与withAnimation 动画

withAnimation 必须在同步中执行,在异步中无法正常工作。

这意味着,在 ModelActor 中使用 withAnimation,动画永远不会生效。

解决方案

在 View 中更新数据(适用于查询统计数据)

如果是统计数据的更新,可以让 DataActor 方法计算并返回数据,然后在主线程中进行赋值,此时使用 withAnimation 添加动画。

例如,在 MONO 项目中的使用方式:

但这不适用于添加数据、删除数据或者修改数据。

使用 .animation()

在 View 组件中,使用 .animation() 来添加动画。