SwiftUI 如何使用 .onChange(of: name)观察并响应状态的改变?

10 min read

使用 .onChange(of: name) 可以观察并响应指定状态的改变,以下是示例:

struct ContentView: View {
    @State private var name = "John"
    
    var body: some View {
        VStack {
            Text("Hello, \(name)!")
            TextField("Enter your name", text: $name)
        }
        .onChange(of: name) { newValue in
            print("Name changed to \(newValue)")
        }
    }
}

在上面的代码中,我们使用 .onChange(of: name) 在输入框中输入新的名字时监测并响应名字的改变。每当名字改变时,都会调用闭包中的代码并输出新的名字。