Vue中使用防抖函数,并传参

1、在 utils.js文件夹中封装 防抖 函数

/**
 *
 * @description 防抖
 * @param func  需要频繁调用的方法
 * @param delay  间隔时间,表示多长时间没有操作则执行fn方法, delay单位是秒
 * 
 */
export const debounce = (func, delay) => {
    let timer;
    return function() {
        if (timer)
            clearTimeout(timer);
        timer = setTimeout(() => {
            func.call(this, ...arguments);
        }, delay * 1000);
    }
}

2、在页面中引入 debounce 函数

import { debounce } from "@/Utils/util";

3、假设在 input 的change事件中需要使用防抖

// 在 onChange 事件中传入两个参数

<Input
       v-model="msg"
       style="width: 100%"
       @on-change="(e) => {onChange(e?.target?.value, item);}">
</Input>

4、使用 debounce 函数

 onChange: debounce(function (value, row) {
      console.log('value',value);
    }),

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值