我正在尝试向SwiftUI选择器添加回调,但无法使其执行。当选择器值更改时,didSet显然不会执行。到目前为止,这是我尝试过的方法:
struct ContentView : View {
@State private var picked: Int = 0 {didSet{print("here")}}
var someData = ["a", "b", "c"]
var body: some View {
VStack {
Picker(selection: $picked,
label: Text("")) {
ForEach(0 ..< someData.count) {Text(self.someData[$0]).tag($0)}
}
.pickerStyle(.wheel)
Text("you picked: \(someData[picked])")
}
}
}
Run Code Online (Sandbox Code Playgroud)