【发布时间】:2021-09-06 14:09:45
【问题描述】:
在以下代码中,您可以将其复制到一个新的 SwiftUI 项目中,当我运行它并开始在文本字段中输入时,该字段在每个字符后失去焦点。我怎样才能解决这个问题?我不了解可观察对象,所以也许这就是问题所在?顺便说一句,我使用的是 Xcode 13.0 Beta 5
struct CmdOption: Hashable, Identifiable {
var id: UUID { UUID() }
var value: String
}
import SwiftUI
struct ContentView: View {
@State var theOptions: [CmdOption] = [
CmdOption(value: ""),
CmdOption(value: "")
]
@State var allOptions: [CmdOption] = []
var body: some View {
VStack {
ScrollView(.vertical) {
ForEach($allOptions, id: \.self) { $option in
VStack {
TextField(option.value, text: $option.value)
}
}
}
}.onAppear {
startup()
}
}
func startup() {
allOptions.removeAll()
theOptions.forEach {option in
allOptions.append(option)
}
}
}
struct ContentView_Previews: PreviewProvider {
static var previews: some View {
ContentView()
}
}
【问题讨论】: