300字范文,内容丰富有趣,生活中的好帮手!
300字范文 > Flutter 输入框实时搜索性能优化

Flutter 输入框实时搜索性能优化

时间:2019-04-01 00:37:40

相关推荐

Flutter 输入框实时搜索性能优化

在App开发过程中,搜索功能是必不可少的。一般对于搜索功能,要么是输入一段文字后自己手动点击搜索按钮进行搜索;要么是实时的搜索。如果输入框中每一个字符的改变都要去触发网络请求的话,会浪费用户的流量,增大服务器的负载,并且使页面比较卡顿。这显然是不可取的。举一个很简单的例子,用户想要搜索 "ABC" ,如果直接监听文本变化,会向服务器发送3次请求。显然这会造成差的用户体验并浪费网路资源。

所以我们可以做一个延迟加载、当文本输入变化超过500ms时进行功能搜索:

//快速搜索static searchDelay(Function doSomething, {durationTime = 500}) {timer?.cancel();timer = new Timer(Duration(milliseconds: durationTime), () {doSomething?.call();timer = null;});}

可以在输入框基类进行封装:

onChanged: (value) {if (!posing.isValid) {setState(() {inputKeywords = _textEditingController.text;});if (widget.onChanged != null) {Utils.searchDelay(() {widget.onChanged(inputKeywords);});}}},

这样便能达到文本搜索优化的效果。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。