Fork me on GitHub

利用自定义ref实现防抖

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('');

 

posted @ 2023-02-02 15:18  欢欢11  阅读(16)  评论(0编辑  收藏  举报