gpt4 book ai didi

swift - 从选择器 SwiftUI 中取消选择项目

转载 作者:行者123 更新时间:2023-12-05 00:44:46 25 4
gpt4 key购买 nike

我使用带有选择器的表单,一切正常(我可以从选择器中选择一个元素),但我无法取消选择它。是否存在从选择器中取消选择项目的方法?谢谢!

enter image description here

Picker(selection: $model.countries, label: Text("country")) {
ForEach(model.countries, id: \.self) { country in
Text(country!.name)
.tag(country)
}
}

最佳答案

要取消选择,我们需要可选存储选择器值,所以这里有一个可能的方法的演示。

使用 Xcode 12.1/iOS 14.1 测试

demo

struct ContentView: View {
@State private var value: Int?
var body: some View {
NavigationView {
Form {
let selected = Binding(
get: { self.value },
set: { self.value = $0 == self.value ? nil : $0 }
)
Picker("Select", selection: selected) {
ForEach(0...9, id: \.self) {
Text("\($0)").tag(Optional($0))
}
}
}
}
}
}

关于swift - 从选择器 SwiftUI 中取消选择项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65924526/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com