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
待解决
相关问题
HarmonyOS ts 防抖Debounce
131浏览 • 1回复 待解决
HarmonyOS 项目的防抖和截流怎么实现
309浏览 • 1回复 待解决
HarmonyOS 摄像头设置帧率、防抖等API,CAPI与TS API没有对齐
170浏览 • 1回复 待解决
HarmonyOS search 组件 如何实现进入页面后自动获取焦点弹出键盘
275浏览 • 1回复 待解决
请问js input组件中的search、share方法怎么使用的?
2247浏览 • 1回复 待解决
HarmonyOS Search组件如何设置searchButton的fontColor
120浏览 • 1回复 待解决
HarmonyOS Search组件是否有清空事件监听方法
179浏览 • 1回复 待解决
HarmonyOS 防截屏功能如何实现
217浏览 • 1回复 待解决
HarmonyOS Search搜索框组件 搜索icon怎么放到右边
123浏览 • 1回复 待解决
HarmonyOS web组件中onalert函数咨询
277浏览 • 1回复 待解决
HarmonyOS 如何在一个 push 的子页面中实现防截屏功能?
197浏览 • 1回复 待解决
HarmonyOS web组件中,js调用native的函数中,无法显示@CustomDialog组件
165浏览 • 1回复 待解决
气泡组件有推荐的实现方式么?
685浏览 • 1回复 待解决
HarmonyOS Search组件如何设置默认直接唤醒输入法
88浏览 • 1回复 待解决
HarmonyOS 如何防截屏防录屏
331浏览 • 1回复 待解决
HarmonyOS 如何在builder函数中传入组件
490浏览 • 0回复 待解决
求告知如何实现防截屏功能
686浏览 • 1回复 待解决
HPM: Search error: { "error": "" } Error: Failed to search:
5373浏览 • 1回复 待解决
HarmonyOS ArkTS中如何实现泛型构造函数
833浏览 • 1回复 待解决
组件自定义回调函数实现
696浏览 • 1回复 待解决
HarmonyOS 想要获悉Video组件横屏时的实现方式
676浏览 • 1回复 待解决
HarmonyOS 防截屏
270浏览 • 1回复 待解决
HarmonyOS Search组件的searchButton是否支持背景颜色,圆角或其它元素的自定义
164浏览 • 1回复 待解决
求大佬告知如何实现防截屏功能
2171浏览 • 1回复 待解决
调用this.debounce(this.setFinalInput, 300)没有执行return的函数是因为return的函数本身没有被调用导致,可以通过this.debounce(this.setFinalInput, 300)()调用到,但是这样会不停调用debounce函数无限创建闭包每一个闭包分别引用一个timeout,不能清除原定时器,最终每一次点击都会生效无法达到防抖的效果,建议可以全局设一个变量以达到防抖的目的:
如果需要将防抖函数封装,可以试下以下方式: