前端-防抖代码
大嘴史努比 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博客
声明
本文内容仅代表作者观点,或转载于其他网站,本站不以此文作为商业用途
如有涉及侵权,请联系本站进行删除
转载本站原创文章,请注明来源及作者。