The code is below. I want to delete the final fading animation when onDelete
is tapped.
struct ContentView: View {
@State var names = ["david", "john", "amber"]
var body: some View {
List {
ForEach(names, id: \.self) { (item) in
Text(item)
}.onDelete(perform: self.deleteItem)
}
}
private func deleteItem(at indexSet: IndexSet) {
self.names.remove(atOffsets: indexSet)
}
}
I tried to use .animation()
but none works
A possible solution is to force redraw the List
:
struct ContentView: View {
@State private var names = ["david", "john", "amber"]
@State private var listId = UUID()
var body: some View {
List {
ForEach(names, id: \.self) { item in
Text(item)
}
.onDelete(perform: deleteItem)
}
.id(listId)
}
private func deleteItem(at indexSet: IndexSet) {
names.remove(atOffsets: indexSet)
listId = UUID()
}
}