在您的小部件状态中,声明一个控制器和计时器:
final _searchQuery = new TextEditingController();Timer _debounce;
添加侦听器方法:
_onSearchChanged() { if (_debounce?.isActive ?? false) _debounce.cancel(); _debounce = Timer(const Duration(milliseconds: 500), () { // do something with _searchQuery.text });}将方法钩住和解钩到控制器:
@overridevoid initState() { super.initState(); _searchQuery.addListener(_onSearchChanged);}@overridevoid dispose() { _searchQuery.removeListener(_onSearchChanged); _searchQuery.dispose(); _debounce.cancel(); super.dispose();}在构建树中,将控制器绑定到TextField:
child: TextField( controller: _searchQuery, // ... )



