我想使用ForEach
从要显示为列表的数组中删除一个元素,但是我还需要向HTTP
发送一个REST API
请求,我需要将元素的索引放在请求的主体中。这是我的代码:
ForEach(self.symptoms, id: \.self) { symptom in
VStack(alignment: .leading) {
Text(symptom)
}
}.onDelete(perform: delete)
这是删除功能:
func delete(at offsets: IndexSet) {
self.symptoms.remove(atOffsets: offsets)
// here I want to make the HTTP request
}
答案 0 :(得分:5)
如果您将其删除一位,则以下内容将为您提供已删除行的索引
func delete(at offsets: IndexSet) {
self.symptoms.remove(atOffsets: offsets)
// here I want to make the HTTP request
let index = offsets[offsets.startIndex]
// ... use index in HTTP request
}