debounce method
Calls callback after the user stops typing for duration.
This is a simple debounce mechanism for text input. Example:
controller.debounce((text) {
print("User typed: $text");
}, Duration(milliseconds: 500));
Implementation
void debounce(
void Function(String text) callback, [
Duration duration = const Duration(seconds: 1),
]) {
Timer? timer;
addListener(() {
timer?.cancel();
timer = Timer(duration, () {
callback(text.trim());
});
});
}