前端-防抖代码

大嘴史努比 2024-09-04 10:03:01 阅读 64

<code>//防抖

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博客



声明

本文内容仅代表作者观点,或转载于其他网站,本站不以此文作为商业用途
如有涉及侵权,请联系本站进行删除
转载本站原创文章,请注明来源及作者。