どうも、ちょげ(@chogetarou)です。
TextFieldの値の変更を検知する方法を紹介します。
方法

TextFieldの値の変更を検知するには、onChangeモディファイアを使います。
まず、TextFieldにonChangeモディファイアを付与します。
そして、onChangeモディファイアの引数「of」のTextFieldで編集する変数、引数「perform」に値が変更された時に呼び出すクロージャーを指定します。
引数「perform」のクロージャーは、引数で変更後のテキストを受け取ります。
TextField("",text: $editingText)
.onChange(of: editingText, perform: { newValue in
//値変更時の処理
})
onChangeモディファイアを使えば、TextFieldの値の変更を検知することができます。
使用例
以下は、使用例です。
struct ContentView: View {
@State var editingText = ""
var body: some View {
VStack {
TextField("Your Text",text: $editingText)
.onChange(of: editingText, perform: { newValue in
print("NewValue : \(newValue)")
})
.padding()
}
}
}
コメント