繁体   English   中英

SwiftUI ForEach.onDelete 正确设置动画但随后重置

[英]SwiftUI ForEach.onDelete properly animates but then resets

试图弄清楚为什么我的 ForEach 循环没有更新。 我将 model 标记为 ObservedObject 并尽我所能确保更新正在发生。 我什至看到 model 在打印时正在更新。

class Model {
    var array: [Int]
}
…
struct ModelView: View {
    @ObservedObject var model: Model
var body: some View {
    List {
         ForEach(model.array.indices, id:\.self) { index in
…
        }.onDelete(perform: delete)
    }
}

该行正在动画并且表现得好像它正在删除并且确实在 model 中删除,但是被删除的行重新动画并显示原始数据集!

我想到了。 我需要使用@Published 属性包装器在我的 model object 中创建数组。 这样做解决了一切!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM