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 项目的防抖和截流怎么实现
1505浏览 • 1回复 待解决
HarmonyOS ts 防抖Debounce
772浏览 • 1回复 待解决
HarmonyOS 摄像头设置帧率、防抖等API,CAPI与TS API没有对齐
1184浏览 • 1回复 待解决
HarmonyOS search 组件 如何实现进入页面后自动获取焦点弹出键盘
1124浏览 • 1回复 待解决
请问js input组件中的search、share方法怎么使用的?
3262浏览 • 1回复 待解决
HarmonyOS Search组件如何设置searchButton的fontColor
719浏览 • 1回复 待解决
HarmonyOS Search组件是否有清空事件监听方法
923浏览 • 1回复 待解决
HarmonyOS Search搜索框组件 搜索icon怎么放到右边
1654浏览 • 1回复 待解决
HarmonyOS 防截屏功能如何实现
1238浏览 • 1回复 待解决
HarmonyOS Search组件如何设置默认直接唤醒输入法
889浏览 • 1回复 待解决
HarmonyOS web组件中onalert函数咨询
838浏览 • 1回复 待解决
HarmonyOS web组件中,js调用native的函数中,无法显示@CustomDialog组件
870浏览 • 1回复 待解决
HPM: Search error: { "error": "" } Error: Failed to search:
6279浏览 • 1回复 待解决
HarmonyOS 如何在builder函数中传入组件
1332浏览 • 1回复 待解决
气泡组件有推荐的实现方式么?
1648浏览 • 1回复 待解决
HarmonyOS 如何在一个 push 的子页面中实现防截屏功能?
830浏览 • 1回复 待解决
HarmonyOS 如何防截屏防录屏
1474浏览 • 1回复 待解决
HarmonyOS ArkTS中如何实现泛型构造函数
1941浏览 • 1回复 待解决
组件自定义回调函数实现
1775浏览 • 1回复 待解决
HarmonyOS Search组件的searchButton是否支持背景颜色,圆角或其它元素的自定义
802浏览 • 1回复 待解决
HarmonyOS 想要获悉Video组件横屏时的实现方式
1683浏览 • 1回复 待解决
求告知如何实现防截屏功能
1492浏览 • 1回复 待解决
HarmonyOS List容器组件中的ListItem组件,可以通过拖动来实现顺序调整么?是否有现成官方提供的方式?
1642浏览 • 1回复 待解决
TextInput/Search组件右侧功能按钮、按钮位置获取问题
2804浏览 • 1回复 待解决





















调用this.debounce(this.setFinalInput, 300)没有执行return的函数是因为return的函数本身没有被调用导致,可以通过this.debounce(this.setFinalInput, 300)()调用到,但是这样会不停调用debounce函数无限创建闭包每一个闭包分别引用一个timeout,不能清除原定时器,最终每一次点击都会生效无法达到防抖的效果,建议可以全局设一个变量以达到防抖的目的:
如果需要将防抖函数封装,可以试下以下方式: