[英]Flutter TextFormField call value change method after finish text input
在我的屏幕中,有符合邏輯的搜索功能運行良好,但問題是我想在停止輸入后運行我的搜索功能? 那么TextFormField
有onChanged
方法,如何實現呢? 我嘗試了很多方法,比如比較DateTime
但無法實現。
~ PS: onEditingComplete
方法在我的情況下很完美,但問題是,要調用這個方法,我必須點擊返回按鈕,而不點擊返回按鈕是否可能?
我建議創建一個 debouncer,像這樣。
class Debouncer {
final int milliseconds;
VoidCallback action;
Timer _timer;
Debouncer({this.milliseconds});
run(VoidCallback action) {
if (null != _timer) {
_timer.cancel();
}
_timer = Timer(Duration(milliseconds: milliseconds), action);
}
}
然后以您想要的“停止打字后”的時間啟動對象。
final _debouncer = Debouncer(milliseconds: 1000);
並在您的 onChanged 方法中使用它。
onChanged: (string) {
_debouncer.run(() {
//Perform your search
}
);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.