首页 > 解决方案 > 如何使用 SwiftUI 观察 TextField 值并结合?

问题描述

每次textField更改 a 的值时,我都会尝试执行一个操作。

@Published var value: String = ""

var body: some View {            
     $value.sink { (val) in
        print(val)
     }
     return TextField($value)       
}

但我得到以下错误。

无法将“已发布”类型的值转换为预期的参数类型“绑定”

标签: iosswiftuicombine

解决方案


这应该是一种非脆弱的方式:

class MyData: ObservableObject {
    var value: String = "" {
        willSet(newValue) {
            print(newValue)
        }
    }
}

struct ContentView: View {
    @ObservedObject var data = MyData()
    var body: some View {
        TextField("Input:", text: $data.value)
    }
}

推荐阅读