【发布时间】:2021-12-11 17:56:24
【问题描述】:
以下代码可让您从列表中选择多个项目,并在点击按钮时清除选择列表。我希望能够做的是不显示Deselect All 按钮,除非在列表中选择了项目,或者至少在编辑模式下。
有没有办法只在选择项目时才显示视图?或者至少只在编辑模式下?
struct ContentView: View {
@State private var itemSelection = Set<String>()
let names = [ "Orange", "Apple", "Grape", "Watermelon"]
var body: some View {
NavigationView {
VStack{
List(names, id: \.self, selection: $itemSelection) { name in
Text(name)
}
.navigationTitle("Item List")
.toolbar {
EditButton()
}
Button("Deselect All"){
print("Items: \(itemSelection)")
itemSelection.removeAll()
}
}
}
}
}
【问题讨论】:
-
我的回答中还有第二种方法。