web-dev-qa-db-ja.com

SwiftUIとCombineでTextField値を監視する方法は?

textFieldの値が変更されるたびにアクションを実行しようとしています。

@Published var value: String = ""

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

しかし、以下のエラーが発生します。

タイプ 'Published'の値を予期される引数タイプ 'Binding'に変換できません

4
Sorin Lica

これにはコンバインを使用しません。これは私のために働いています:

 TextField("write your answer here...",
            text: Binding(
                     get: {
                        return self.query
                       },
                     set: { (newValue) in
                        self.fetch(query: newValue) // any action you need
                                return self.query = newValue
                      }
            )
  )

私はそれが私の考えではないと言う必要があります、私はこのブログでそれを読みました: SwiftUIバインディング:非常に簡単なトリック

0
abanet