前端-防抖代码

复制代码
//防抖
		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博客

相关推荐
柳杉4 分钟前
Codex + 可视化大屏工作流实践:15 个行业场景的设计产出合集
前端·openai·数据可视化
@#¥&~是乱码鱼啦7 分钟前
ArkWeb开发手记05|SPA单页H5适配、自定义历史栈与全局状态同步
前端·harmonyos
peter67688 分钟前
vue学习小结
前端·vue.js·学习
七仔啊13 分钟前
数字孪生大屏设计器
前端
知野小兔15 分钟前
JavaScript 数组方法大全(超详细整理)
开发语言·前端·javascript
火眼金睛记单词19 分钟前
零基础成人重拾英语:第一个月的30天行动地图
前端·经验分享·学习·小程序
ljt272496066134 分钟前
Vue笔记(十二)--mitt
前端·笔记
用户0333074139513 小时前
TypeScript using 与 AsyncDisposableStack:在真实服务端代码中协调多资源清理
前端
daisychey13 小时前
用 Playwright 做多平台内容分发,我踩过的 8 个坑
前端
IT_陈寒14 小时前
为什么你应该学习JavaScript?
前端·人工智能·后端