I got it thanks to Claude31.
import SwiftUI
struct ContentView: View {
@ObservedObject var monster: Monster
var body: some View {
VStack {
Button {
monster.items.append(Keyword())
} label: {
Text("Add me!")
}.padding(.vertical, 10.0)
ForEach(monster.items) { item in
KeywordRow(id: item.id).environmentObject(monster)
}
}
}
}
struct Keyword: Identifiable {
let id = UUID()
}
struct KeywordRow: View {
@State var id = UUID()
@EnvironmentObject var monster: Monster
var body: some View {
VStack {
HStack {
Text("ID: \(id)")
Button {
monster.items.removeAll(where: { $0.id == id} )
} label: {
Text("Delete")
}
}
}
}
}
Topic:
UI Frameworks
SubTopic:
SwiftUI
Tags: