我正在开发一个 macOS 应用程序。我有一个 SwiftData 项目列表。类似这样的内容:
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)
}
}
我想添加一个按钮来删除当前项目。
我搜索过周围,但所有内容都是针对 iOS 的,我看不出它在这里如何应用。
我需要什么action
代码才能从列表中删除当前项目,更重要的是从数据中删除当前项目?
尝试这种方法,使用
modelContext
和 TestData 进行删除。在真正的 Mac 上测试,MacOS 15.2 不是预览版。注意,不需要
if allTestData.count > 0 {
这是在 macOS 上运行的完整代码。