我用的是TextField
下的onChanged
函数
我正在调用我的代码,但现在的问题是,每次输入或删除一个新词时,代码都会执行。
我正在寻找的是如何识别用户何时停止键入。
意味着增加一些延迟或类似的东西。
我也尝试使用Future.delayed
函数添加delay
,但该函数也执行了n次。
TextField(
controller: textController,
onChanged: (val) {
if (textController.text.length > 3) {
Future.delayed(Duration(milliseconds: 450), () {
//code here
});
}
setState(() {});
},
)
字符串
4条答案
按热度按时间jhdbpxl91#
我在这个link里找到了这么轻的东西
它定义此类
字符串
此示例将帮助您更多
型
2nbm6dog2#
感谢@pskink
我能够实现我正在寻找的功能。
在
pubspec.yaml
中导入stream_transform包stream_transform: ^0.0.19
个字符串
TextField代码
型
ru9i0ody3#
在我的情况下,我也需要flutter async。
字符串
zvms9eto4#
我知道现在很晚了。在我的情况下,我需要检查注册过程中的电子邮件的可用性,并需要显示相关的消息给用户时,用户停止键入文本字段的电子邮件。您需要创建一个计时器,并在每次用户在文本字段中键入内容时重置它。代码如下:
字符串
现在在textfield的
onChanged
方法中调用这个resetTimer
方法。不要忘记导入dart:async
注意:上面给出的答案是 *medium链接 *,即“debouncer one”,可能会不必要地调用代码多次