vue3 setup函数内的防抖/节流节流不生效解决方式

//   debounce
<template>
  <!-- 生效 -->
  <el-input v-model="value" @keyup="handelKeyUp"></el-input>
  <!-- 不生效 -->
  <el-input v-model="value" @keyup="debounce(handelKeyUp2,300)"></el-input>
</template>
 

<script setup>
import { ref } from "vue";
 
let value = ref("");
// 不生效
function handelKeyUp2 (args) {
  console.log("请求url", value.value, args);
};
function debounce(fn, delay = 200) {
  let timeout = null;
  return function (...args) {
    if (timeout) clearTimeout(timeout);
    timeout = setTimeout(function () {
      fn.apply(this, args);
    }, delay);
  };
}
// 生效
const handelKeyUp = debounce(function (args) {
  console.log("请求url", value.value, args);
}, 300);
</script>
posted @   seekHelp  阅读(45)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?
点击右上角即可分享
微信分享提示