keydata如果用戶使用 .contextMenu { },這里是“Hello World l?schen”,我想從其中洗掉一行。
@State private var keyData = [
ListView("1", "Hello", "World"),
ListView("2", "Bye", "Wold")
]

ForEach($keyData) { $i in
NavigationLink()) {
//
}
.contextMenu {
Button { } // ?
label: {
Text(i.firstName)
Text(" ")
Text(i.lastName)
Text(" l?schen")
}
}
}
uj5u.com熱心網友回復:
您需要索引來洗掉要洗掉的專案(有效)。改變你的ForEach:
ForEach(Array(keyData.enumerated()), id: \.element) { (index, element) in
NavigationLink("test", destination: Text("test"))
.contextMenu {
Button {
keyData.remove(at: index)
} label: {
Text(element.firstName)
Text(" ")
Text(element.lastName)
Text(" l?schen")
}
}
}
你可以$i用$keyData[index].
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/373510.html
上一篇:如何從掌舵圖表管理谷歌服務帳戶
