我正在尝试基于字符串数组创建一个 TextFields 列表,当按下键盘上的返回键时,我想创建一个新的 TextField 并使用新的 @FocusState SwiftUI 属性将其聚焦
我建立了一个像这样的视图:
struct ContentView: View {
@State var list: [String] = [""]
@FocusState private var focusField: Int?
var body: some View {
List {
ForEach($list.indices, id: \.self) { idx in
TextField("placeholder", text: $list[idx])
.focused($focusField, equals: idx)
.submitLabel(.next)
.onSubmit {
list.insert("", at: idx + 1)
focusNextField(from: idx)
}
}
}
}
private func focusNextField(from index: Int) {
focusField = index + 1
}
}
Run Code Online (Sandbox Code Playgroud)
focusField = index + 1如果我在给我与索引相同的值后打印 focusField,则问题出在 focusNextField(from index: Int) …
swiftui ×1