大佬教程收集整理的这篇文章主要介绍了从列表中删除项目行 - SwiftUI,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
现在在 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")
}
}
}
}
如果您的 Task
是 Identifiable
(如果不值得这样做),那么您可以进行像
.swipeActions(edge: .leading) {
Button(role: .destructivE){
withAnimation {
tasks.removeAll { task.id == $0.id }
}
} label: {
Label("delete",systemImage: "trash")
}
}
以上是大佬教程为你收集整理的从列表中删除项目行 - SwiftUI全部内容,希望文章能够帮你解决从列表中删除项目行 - SwiftUI所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。