前端-防抖代码

复制代码
//防抖
		debounce(fn, time = 1000) {
			let timer = null;
			return function (...args) {
				if (timer) clearTimeout(timer);
				timer = setTimeout(() => {
					fn.apply(this, args);
				}, time);
			};
		},
		// 输入变化处理函数
		async inputChange(value) {
			if (!this.debouncedInputChange) {
				this.debouncedInputChange = this.debounce(this.handleInputChange, 1000);
			}
			this.debouncedInputChange(value);
		},
		// 实际处理输入变化的函数
		async handleInputChange(value) {
			const res = await baseOptionApi.getDetailByProcessTaskIdLike({ processTaskIdLike: value });
			let myrange = [];
			res.data.data.forEach((val, index) => {
				myrange.push({
					...val, // 保留原始数据的所有字段
					value: val.processTaskId, // 选项id
					text: val.processTaskId + '-' + val.processName // 选项名称
				});
			});
			this.processIdOption = myrange;
		},

参考彻底理清防抖和节流(前端性能优化)_防抖节流-CSDN博客

相关推荐
凯心几秒前
React 中没有 v-model,如何优雅地处理表单输入
前端·vue.js·react.js
南雨北斗几秒前
vue3 Composable介绍
前端
x***B4117 分钟前
TypeScript项目引用
前端·javascript·typescript
●VON1 小时前
使用 Electron 构建天气桌面小工具:调用公开 API 实现跨平台实时天气查询V1.0.0
前端·javascript·electron·openharmony
码上成长1 小时前
包管理提速:pnpm + Workspace + Changesets 搭建版本体系
前端·前端框架
Bigger1 小时前
Tauri(十九)——实现 macOS 划词监控的完整实践
前端·rust·app
ganshenml2 小时前
【Web】证书(SSL/TLS)与域名之间的关系:完整、通俗、可落地的讲解
前端·网络协议·ssl
这是个栗子2 小时前
npm报错 : 无法加载文件 npm.ps1,因为在此系统上禁止运行脚本
前端·npm·node.js
HIT_Weston3 小时前
44、【Ubuntu】【Gitlab】拉出内网 Web 服务:http.server 分析(一)
前端·ubuntu·gitlab
华仔啊3 小时前
Vue3 如何实现图片懒加载?其实一个 Intersection Observer 就搞定了
前端·vue.js