【发布时间】:2021-04-30 12:44:05
【问题描述】:
我想在点击项目时从列表中删除项目。当我删除一个单元格时,所有其余的单元格点击指示器都显示它们也被点击了。
此外,它不会删除它,只是使其暂时不可见。当我重新加载页面时,已删除的单元格再次出现在内存中并且再次可见。
List{
ForEach(list.reminders, id: \.self) { reminder in
Button(action: {
self.isSelected.toggle()
self.delete(at: list.reminders.firstIndex(where: {$0.hashValue == reminder.hashValue})!)
}, label: {
HStack{
Image(systemName: isSelected ? "largecircle.fill.circle" : "circle")
.resizable()
.aspectRatio(contentMode: .fit)
.foregroundColor((isSelected ? Color(list.color) : .gray))
.frame(width: 22, height: 22, alignment: .trailing)
.cornerRadius(22)
ReminderCell(reminder: reminder)
}
})
.padding(.bottom)
}.onDelete(perform: deleteReminder)
}
func deleteReminder(at offsets: IndexSet) {
list.reminders.remove(atOffsets: offsets)
}
func delete(at index: Int) {
list.reminders.remove(at: index)
}
【问题讨论】: