【发布时间】:2021-08-29 12:09:58
【问题描述】:
现在在 SwiftUI 3.0 和 iOS 15 中,我们有一个 swipeActions() 方法
但是当使用 swipeActions() 时不再使用 onDelete(perform: )
我无法编写从列表中删除项目的操作代码
List{
TextField("Create new task...", text: $newTaskText)
.onSubmit {
taskVM.tasks.append(Task(title: newTaskText, isCompleted: false))
newTaskText = ""
}
.submitLabel(.done)
ForEach($taskVM.tasks) { $task in
HStack{
Text(task.title)
Spacer()
Text(task.isCompleted ? "Completed ✅" : "")
.foregroundColor(.gray)
}
.swipeActions(edge: .trailing) {
Button{
task.isCompleted.toggle()
} label: {
Label("Complete", systemImage: task.isCompleted ? "clear" : "checkmark")
}
.tint(task.isCompleted ? .red : .green)
}
.swipeActions(edge: .leading) {
Button(role: .destructive){
print("Deleted")
} label: {
Label("Delete", systemImage: "trash")
}
}
}
}
【问题讨论】:
标签: swift xcode swiftui swiftui-list