HarmonyOS ts 防抖Debounce?

ts 防抖Debounce,HarmonyOS 是否有对应的api支持,是否可以ets调用ts?

阅读 480
1 个回答

目前没有api支持,可以自行实现防抖函数,实现防抖可参考以下demo:

@Entry
@Component
struct SearchDemo{
  @State timeout: number = -1;
  build() {
    Column(){
      Text('点击')
        .fontSize('25fp')
        .fontColor(Color.White)
        .fontWeight(FontWeight.Bold)
        .borderRadius(15)
        .padding(8)
        .backgroundColor(Color.Blue)
        .onClick(() => {
          this.debounce(this.setFinalInput, 3000);
        })
    }
  }
  debounce(fn: Function, wait: number = 300) {
    if(this.timeout !== -1){
      clearTimeout(this.timeout);
    }
    this.timeout = setTimeout(fn.bind(this), wait);
    console.log("tag--- ==timeout==",this.timeout);
  }

  setFinalInput() {
    console.log("tag--- setFinalInput this", JSON.stringify(this));
    // this.finalSearchInput = this.searchInput;
  }
}
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进