gpt4 book ai didi

flutter - 过滤ListView、延迟搜索、查找、Debounce flutter 和 dart

转载 作者:行者123 更新时间:2023-12-02 19:52:11 28 4
gpt4 key购买 nike

我是新来的,我找不到任何我正在寻找的解决方案。

我有一个文本字段,我想在其中输入产品代码,几秒钟后它会从列表中搜索代码并在 ListView 中显示与代码匹配的产品。

有人可以帮助我吗?

最佳答案

尝试一下这个。

    void main() {
runApp(MyApp());
}

class MyApp extends StatelessWidget {
final TextEditingController controller = TextEditingController();

final Debouncer onSearchDebouncer =
new Debouncer(delay: new Duration(milliseconds: 500));

@override
Widget build(BuildContext context) {
return MaterialApp(
home: Scaffold(
backgroundColor: Colors.white,
body: Padding(
padding: const EdgeInsets.all(8.0),
child: Center(
child: TextField(
controller: this.controller,
onChanged: (val) => this.onSearchDebouncer.debounce(
() => print("text : " + val),
)),
),
),
),
);
}
}

带有计时器的自定义Debouncer类。

        import 'dart:async';
import 'dart:ui';

class Debouncer {
Duration delay;
Timer _timer;
VoidCallback _callback;

Debouncer({this.delay = const Duration(milliseconds: 500)});

void debounce(VoidCallback callback) {
this._callback = callback;

this.cancel();
_timer = new Timer(delay, this.flush);
}

void cancel() {
if (_timer != null) {
_timer.cancel();
}
}

void flush() {
this._callback();
this.cancel();
}
}

关于flutter - 过滤ListView、延迟搜索、查找、Debounce flutter 和 dart,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57950448/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com