Menambahkan OnChange Event Pada TextField di Flutter
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); }