Mar*_*ski 4 state-management reactive-programming dart flutter bloc
如何对块中的事件进行反跳?比方说,我想在后端执行搜索查询,但在执行此操作之前要等待用户停止输入吗?我所说的“停止打字”是指直到按下最后一个键为止的 1 秒时间。
块事件处理程序示例:
on<Search>(_handleSearchEvent);
Run Code Online (Sandbox Code Playgroud)
每个处理程序都有一个可选transformer:字段,可以进行去抖动(以及更多操作)。
使用rxdart你可以自己实现去抖:
on<Search>(
_handleSearchEvent,
transformer: (events, mapper) => events.debounceTime(Duration(seconds: 1)).switchMap(mapper),
);
Run Code Online (Sandbox Code Playgroud)
我编写了bloc_event_transformers包来执行流行的转换,例如节流和去抖动,以减少应用程序中的样板文件。可以这样使用:
on<Search>(
_handleSearchEvent,
transformer: debounce(Duration(seconds: 1)),
);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1982 次 |
| 最近记录: |