利用 vue3 的 customRef 实现

JS
HTML
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);
        setTimeout(() => {
          value = val;
          trigger(); // 派发更新
        }, delay);
      },
    };
  });
}
<template>
  <input v-model="text" />
  <p>{{ text }}</p>
</template>

<script>
import { debounceRef } from './debounceRef.js';
export default {
  setup() {
    const text = debounceRef('');
    return { text };
  },
};
</script>

<style lang="less" scoped>
</style>
打赏作者
您的打赏是我前进的动力
微信
支付宝
评论

中午好👏🏻,我是 ✍🏻   疯狂 codding 中...

粽子

这有关于前端开发的技术文档和你分享。

相信你可以在这里找到对你有用的知识和教程。

了解更多

目录

  1. 1. 利用 vue3 的 customRef 实现