Har*_*abh 2 android kotlin android-jetpack-compose
我想知道 kotlin flow flatMap 与 jetpack compose 一起使用
我有一个搜索流程,每次搜索值发生变化时我都会调用 api。
var search = MutableStateFlow("")
Run Code Online (Sandbox Code Playgroud)
并调用api
var allItems = search.flatMapLatest{query->
flow{
emit(repository.getAllItems(query)
}
}
Run Code Online (Sandbox Code Playgroud)
它工作得很好,但在一种情况下除外。当搜索值已经是“”空字符串,并且我尝试刷新页面时,平面图内的代码不起作用,因为搜索值已经是空字符串,要刷新,我尝试通过更改来再次点击 api 调用搜索值“”以触发写入 fla 映射内的 api 调用。那么即使搜索值相同,可以做些什么来使这个平面图工作。
使用 SharedFlow 而不是 StateFlow,因为 StateFlow 默认执行distinctUntilChanged()
| 归档时间: |
|
| 查看次数: |
4718 次 |
| 最近记录: |