Ada kalanya dalam aplikasi kita perlu menjalankan fungsi secara langsung tanpa enter atau tombol ketika user mengetikkan teks di textfield. Pada flutter hal tersebut dapat dengan mudah ditambahkan. Ada 2 cara yang bisa kita pilih untuk implementasinya :

  • Menggunakan OnChange

Ini mungkin cara yang paling sederhana. Secara default TextField sudah memiliki fungsi onChange. Jadi cukup ditambahkan seperti ini :

TextField(onChanged: (text) {print("text $text");},)
  • Menggunakan Controller

Untuk menggunakan change event pada controller, dengan menambahkan addListener pada controller tersebut. Dan penambahan addListener tersebut dapat dilakukan saat initState. Contoh jelasnya seperti ini :

final myController = TextEditingController();
 
  textListener() {
    print("Current Text is ${myController.text}");
  }
 
  @override
  void dispose() {
    super.dispose();
    myController.dispose();
  }
 
  @override
  void initState() {
    super.initState();
    myController.addListener(textListener);
  }

Tagged :

Leave a Reply

Your email address will not be published. Required fields are marked *