防抖 (多次触发 只执行最后一次)
高频率触发的事件,在指定的时间内,只响应最后一次,如果在指定的时间内再次触发,则重新计算时间。
首先准备一个带 id=“searchInput” 的输入框
其次就可以复制防抖啦
<input v-model="searchText" id="searchInput" placeholder="请输入"/>
// 防抖
const searchText = ref('') //绑定输入框的值
const goSearch = (fn, delay) => {
let timer;
return function (...args) {
clearTimeout(timer);
timer = setTimeout(() => {
fn(...args);
}, delay);
}
}
nextTick(() => {
let input = document.getElementById('searchInput')
input.addEventListener('input', goSearch(function () {
GetUserPages() //请求数据
}, 2000));
})