首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >除非搜索项发生更改,否则Transformation.switchmap不返回结果

除非搜索项发生更改,否则Transformation.switchmap不返回结果
EN

Stack Overflow用户
提问于 2021-02-06 16:03:41
回答 1查看 39关注 0票数 1

我有一个LiveData,它需要返回基于搜索查询的帐户,如果没有查询返回所有帐户。这是我的代码,我在我的ViewModel类中使用过,但在初始化时没有账户显示,只有当我更改searchTerm时,它才开始显示结果,并且在将搜索词设置为空时也显示结果。

代码语言:javascript
复制
    val searchTerm = MutableLiveData<String>()

    val accounts : LiveData<List<AccountModel>> = Transformations.switchMap(searchTerm){

            if(it.isNullOrEmpty()){
                Transformations.map(accountRepository.accountDAO.getAccounts()){
                    it.toDomainModel()
                }
            }else{
                Transformations.map(accountRepository.accountDAO.getSearchedList(it)){
                    it.toDomainModel()
                }
            }

        }

有没有人能告诉我我到底做错了什么。

谢谢

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-02-06 16:12:00

您应该使用初始值。在searhTerm获得第一个值之前,不会触发switchMap。

代码语言:javascript
复制
val searchTerm = MutableLiveData<String>("")
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66074764

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档