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