Estou trabalhando em um aplicativo macOS. Tenho uma lista de itens SwiftData. Algo assim:
struct TestDataList: View {
@Query var allTestData: [TestData]
var body: some View {
VStack {
Text("Everything")
if allTestData.count > 0 {
List {
ForEach(allTestData){ test in
HStack {
Text(test.id)
Spacer()
Text(test.value)
Spacer()
Button("", systemImage: "trash", action: {
// ?
})
}
}
}
}
}
.modelContainer(for: TestData.self)
}
}
Gostaria de adicionar um botão que excluirá o item atual.
Pesquisei, mas tudo é para iOS e não consigo ver como isso se aplicaria aqui.
Qual action
código preciso para excluir o item atual, tanto da Lista quanto, mais importante, dos dados?
Tente esta abordagem, usando
modelContext
e o TestData para excluir. Testado em mac real, MacOS 15.2, não Preview.Observe que não há necessidade de
if allTestData.count > 0 {
Aqui está o código completo que funciona no macOS.