【发布时间】:2020-10-07 10:17:41
【问题描述】:
当我使用onDelete() 删除数组的元素时,它会删除数据中的正确项,但会删除 UI 上的最后一项。我看到了this answer,但我已经在使用它推荐的东西了。有什么建议吗?
struct ContentView: View {
@State var items = ["One", "Two", "Three"]
var body: some View {
Form{
ForEach(items.indices, id:\.self){ itemIndex in
let item = self.items[itemIndex]
EditorView(container: self.$items, index: itemIndex, text: item)
}.onDelete(perform: { indexSet in
self.items.remove(atOffsets: indexSet)
})
}
}
}
这是 EditorView 结构:
struct EditorView : View {
var container: Binding<[String]>
var index: Int
@State var text: String
var body: some View {
TextField("Type response here", text: self.$text, onCommit: {
self.container.wrappedValue[self.index] = self.text
})
}
}
【问题讨论】:
标签: swiftui