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