vue3 调用防抖函数失败,怎么解决?
写的一个防抖函数:
const debounce = (fn, theTime) => {
return function () {
clearTimeout(fn.timer)
fn.timer = setTimeout(() => {
fn.call(this, ...arguments)
}, theTime)
}
}
下面是 vue3的一个input,用的elementui,定义了一个input事件search
<el-input
v-model="txt"
placeholder="请输入网址"
clearable
size="large"
@input="search"
></el-input>
我想在search里调用debounce函数,怎么也调不成功:
const search = (e) => {
debounce(() => {
console.log('ssssf')
}, 500)
}
是我调的方法不对吗?
回复
1个回答

test
2024-07-17
search
方法声明的时候多套了一层,你这么声明每次触发都会声明一个新的防抖方法,所以做不到防抖
const search = debounce(() => {
console.log('ssssf')
}, 500)
回复

适合作为回答的
- 经过验证的有效解决办法
- 自己的经验指引,对解决问题有帮助
- 遵循 Markdown 语法排版,代码语义正确
不该作为回答的
- 询问内容细节或回复楼层
- 与题目无关的内容
- “赞”“顶”“同问”“看手册”“解决了没”等毫无意义的内容