npm i --save lodash
vue3
<template>
<el-button @click="debouncedClick">获取数据</el-button>
</template>
<script>
import { ref } from 'vue';
import _ from 'lodash';
export default {
setup() {
const fetchData = () => {
// 这里是你的获取数据的逻辑
console.log('Fetching data...');
// 例如,使用 axios 发送请求
};
// 创建一个防抖函数,等待 300 毫秒
const debouncedClick = _.debounce(fetchData, 300);
// 注意:因为 debounce 函数会返回一个新的函数,
// 所以我们需要确保在模板中引用的是这个新的函数。
return {
debouncedClick,
};
},
};
</script>
Vue2
<el-button @click="clickButton">获取数据</el-button>
clickButton: _.debounce(