SwiftUI 当用户提交 TextField 时如何执行事件?

4 min read

可以使用 .onCommit 修饰符处理用户提交 TextField 时的事件,例如:

struct ContentView: View {
    @State var text: String = ""

    var body: some View {
        VStack {
            TextField("Enter text here", text: $text)
                .textFieldStyle(RoundedBorderTextFieldStyle())
                .padding()

            Button("Submit") {
                // 处理提交事件
                print("Submitted text:", text)
            }
        }
        .onTapGesture {
            // 收起键盘
            UIApplication.shared.sendAction(#selector(UIResponder.resignFirstResponder), to:nil, from:nil, for:nil)
        }
    }
}

在 VStack 中使用 onTapGesture 修饰符可以使用户点击其他区域时收起键盘。在 Button 中设置具体的提交事件处理函数。