当用户输入时,实时搜索需要哪些技术和API?

Which techniques & APIs are necessary for live search when user is typing?

提问人:t3chb0t 提问时间:11/12/2023 最后编辑:t3chb0t 更新时间:11/12/2023 访问量:45

问:

我需要查看哪些组件或 API 才能在用户键入搜索查询时创建实时 serach?目前,我调用了一个立即查询数据库的方法,并在 .但这显然是滞后的,会阻止用户快速输入:search()onValueChange

TextField(
    value = viewModel.filter.currencyCode,
    label = { Text("Currency") },
    onValueChange = {
        viewModel.filter.currencyCode = it
        viewModel.search() // <-- triggers the search in a database
    },
    singleLine = true,
    modifier = Modifier.padding(PaddingValues(vertical = 2.dp)).weight(2f)
)
kotlin android-jetpack-compose 桌面应用程序 kotlin-multiplatform

评论

1赞 Phil Dukhov 11/13/2023
如果花费很多时间,您需要弄清楚如何不在主线程上调用此方法 - 例如,创建一个协程范围并在那里启动请求。我认为对于本地请求来说,这应该就足够了,但您也可以添加等待用户在执行查询之前停止输入,看看这个例子searchdebounce
0赞 t3chb0t 11/13/2023
@PhilDukhov哦,它叫!我想这就是我一直在寻找的。debounce

答: 暂无答案