首页 |  我的博客 |  查看该博主内容分类 | 

自制input debounce防抖延时器

前言

因elementUI的防抖只是针对远程搜索,因此需要自定义一个自己的防抖延时

示例

html

<el-input
	...
	@input="debounceAction"
	...
></el-input>

JavaScript

debounceAction(){
	if (this.debounceTimer){
		clearTimeout(this.debounceTimer)
	}
	this.debounceTimer = setTimeout(() => {
		// 你要搜索的逻辑函数
	}, 300)
}

上述通过设置一个延时器debounceTimer,在每次输入变化时触发@input,当没有延时器时,会直接进入300ms的倒计时,300ms内如有新内容变化就会清除上一个延时器并重新计时300ms,使其不会立刻搜索,从而达到防抖的功能。

posted @ 2023-06-01 09:26  Z哎呀  阅读(212)  评论(0)    收藏  举报