HarmonyOS Search组件中函数防抖的实现方式
定义:debounce
debounce(fn: Function, wait: number = 300) {
let timeout: number = -1;
console.log("debounce");
console.log("this",JSON.stringify(this))
return () => {
if(timeout!=-1){
clearTimeout(timeout);
}
timeout = setTimeout(fn.bind(this), wait);
console.log("==timeout==",timeout);
}
}
setFinalInput() {
console.log("setFinalInput this", JSON.stringify(this));
this.finalSearchInput = this.searchInput;
}
调用:
this.debounce(this.setFinalInput, 300)
调用debounce函数后无法执行this.setFinalInput函数。
HarmonyOS
赞
收藏 0
回答 1
待解决
相关问题
请问js input组件中的search、share方法怎么使用的?
2017浏览 • 1回复 待解决
HarmonyOS 如何在builder函数中传入组件
216浏览 • 0回复 待解决
HarmonyOS web组件中onalert函数咨询
112浏览 • 1回复 待解决
HarmonyOS ArkTS中如何实现泛型构造函数
359浏览 • 1回复 待解决
求大佬告知如何实现防截屏功能
1912浏览 • 1回复 待解决
求告知如何实现防截屏功能
480浏览 • 1回复 待解决
气泡组件有推荐的实现方式么?
313浏览 • 1回复 待解决
如何实现防截屏功能,有人知道吗?
1898浏览 • 1回复 待解决
HarmonyOS 想要获悉Video组件横屏时的实现方式
324浏览 • 1回复 待解决
HPM: Search error: { "error": "" } Error: Failed to search:
4989浏览 • 1回复 待解决
组件自定义回调函数实现
266浏览 • 1回复 待解决
HarmonyOS search组件支持底纹词替换时设置动画效果吗?
156浏览 • 0回复 待解决
HarmonyOS List容器组件中的ListItem组件,可以通过拖动来实现顺序调整么?是否有现成官方提供的方式?
464浏览 • 1回复 待解决
HarmonyOS 应用的灰度设置实现方式
363浏览 • 1回复 待解决
TextInput/Search组件右侧功能按钮、按钮位置获取问题
1790浏览 • 1回复 待解决
HarmonyOS WaterFlow组件怎么实现list组件中的header效果?
219浏览 • 1回复 待解决
HarmonyOS有防CPP crash的具体方案吗
268浏览 • 1回复 待解决
HarmonyOS如何在自定义组件的自定义函数中获取当前的 NavPathStack
472浏览 • 1回复 待解决
Search组件如何设置禁用,点击后跳转到真正的搜索界面
2348浏览 • 1回复 待解决
在Stack()布局中,如何调整子组件的对齐方式
300浏览 • 1回复 待解决
HarmonyOS ArkTS中string类型没有replaceAll方法,是否有可替代的实现方式
520浏览 • 1回复 待解决
HarmonyOS 中如何高效地实现组件间的通信?
19浏览 • 0回复 待解决
http并行下载的实现方式
340浏览 • 1回复 待解决
#鸿蒙学习大百科#组件复用的实现方式有哪些?
129浏览 • 1回复 待解决
弹窗组件调用父组件函数传递
908浏览 • 1回复 待解决
调用this.debounce(this.setFinalInput, 300)没有执行return的函数是因为return的函数本身没有被调用导致,可以通过this.debounce(this.setFinalInput, 300)()调用到,但是这样会不停调用debounce函数无限创建闭包每一个闭包分别引用一个timeout,不能清除原定时器,最终每一次点击都会生效无法达到防抖的效果,建议可以全局设一个变量以达到防抖的目的:
如果需要将防抖函数封装,可以试下以下方式: