利用自定义ref实现防抖
2024-10-21 04:11:41
1. debounce.js
import { customRef } from 'vue';
export function debounceRef(value, delay = 1000) {
let timer;
return customRef((track, trigger) => {
return {
get() {
// 依赖收集
track();
return value;
},
set(val) {
clearTimeout(timer);
timer = setTimeout(() => {
// 派发更新
trigger();
value = val;
}, delay);
},
};
});
}
2. 使用
<input v-model="testVal" type="text" />
<p>{{ testVal }}</p>
import { debounceRef } from './components/debounce';
const testVal = debounceRef('');
最新文章
- 第四篇 基于.net搭建热插拔式web框架(RazorEngine实现)
- Linux--02软件安装、防火墙设置
- Bootstrap源码分析之transition、affix
- css3中变形与动画(一)
- iOS多线程初见
- 【转】java内部类的作用
- unity3d游戏开发(一)——圈圈叉叉
- 初学c++
- jfreechart环形图完美实现
- 【Java先进】Lock、通过使用线程池
- 怎样的 Hash 算法能对抗硬件破解
- 怎么解决mysql 执行SQL过长问题------------?
- delphi DBGRID 刷新定位问题 [问题点数:0分]
- B树,B+树比较
- 《JAVA与模式》之中介者模式(转载)
- service citrix xcenserver health check service (xenserver healthcheck) failed to start verfy that you have sufficient privileges to srart system services
- JavaScript 对象属性
- 购物车功能:使用jQuery实现购物车全选反选,单选,商品增删,小计等功能
- Authentication Overview
- 【离线】【递推】【multiset】 Codeforces Round #401 (Div. 2) C. Alyona and Spreadsheet
热门文章
- hyperf 配置 https 访问
- ATM+购物车(思路流程)
- 【转载】SQL SERVER 中单字节和双字节互转自定义函数(全角半角转换)
- vite+ts+vue3+router4+Pinia+ElmPlus+axios+mock项目基本配置
- 使用IntelliJ IDEA打开一个项目步骤
- 关系数据库——MySQL
- Java基础篇——IO流
- Java学习记录:2022年1月13日(其二)
- 最好用的在线图片压缩工具——TinyPNG
- SQL分类-DDL_操作数据库_创建&;查询