View 模型数据更改时如何禁用动画?
我有以下代码:
struct FormView: View {
@ObservedObject var viewModel: FormViewModel
var body: some View {
List {
ForEach(viewModel.options) { option in
Text(option.displayValue)
}
}
}
}
每次 View 模型更改
List
用动画更新。我怎样才能禁用它?
我尝试添加
.animation(nil)
但这无济于事
最佳答案
我找到的解决方案是添加一个每次都会更改的唯一标识符,因此它每次都会在没有动画的情况下重建列表。在 iOS 13.4 上验证。
var body: some View {
List {
ForEach(viewModel.options) { option in
Text(option.displayValue)
}
}
.id(UUID()) // no animation
}
关于ios - 当SwiftUI中观察到的对象发生变化时如何禁用列表中的动画?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59013217/