uniapp 实现input防抖实时搜索代码
时间: 2023-07-20 14:04:01 浏览: 146
你可以在 `input` 事件中加入一个防抖函数来实现实时搜索,以下是一个简单的示例代码:
```html
<template>
<div>
<input type="text" v-model="keyword" @input="handleInput">
<ul>
<li v-for="item in searchResult">{{ item }}</li>
</ul>
</div>
</template>
<script>
export default {
data() {
return {
keyword: '', // 输入框中的关键词
searchResult: [] // 搜索结果
}
},
methods: {
// 防抖函数
debounce(fn, delay) {
let timer = null
return function() {
const context = this
const args = arguments
clearTimeout(timer)
timer = setTimeout(() => {
fn.apply(context, args)
}, delay)
}
},
handleInput() {
// 调用防抖函数,限制搜索频率
this.debounce(this.search, 500)()
},
search() {
// 发起搜索请求
// 在这里调用接口搜索,将结果更新到 this.searchResult 中
}
}
}
</script>
```
在这个示例中,我们使用了 `debounce` 函数来限制搜索频率。当用户输入时,会调用 `handleInput` 方法,该方法中调用了 `debounce` 函数,并将 `search` 方法作为参数传入。`debounce` 函数返回一个新的函数,在定时器中调用 `fn` 函数,从而实现防抖效果。在 `search` 方法中,我们可以调用接口进行搜索,并将结果更新到 `searchResult` 中,以供页面渲染。
阅读全文
相关推荐
![-](https://img-home.csdnimg.cn/images/20241231045053.png)
![-](https://img-home.csdnimg.cn/images/20241231044930.png)
![-](https://img-home.csdnimg.cn/images/20241231045053.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)