簡體   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