useDebounce.js 449 B

123456789101112131415161718
  1. "use strict";
  2. Object.defineProperty(exports, "__esModule", {
  3. value: true
  4. });
  5. exports.default = useDebounce;
  6. var _vue = require("vue");
  7. function useDebounce(value) {
  8. const cacheValue = (0, _vue.shallowRef)(value.value.slice());
  9. let timeout = null;
  10. (0, _vue.watchEffect)(() => {
  11. clearTimeout(timeout);
  12. timeout = setTimeout(() => {
  13. cacheValue.value = value.value;
  14. }, value.value.length ? 0 : 10);
  15. });
  16. return cacheValue;
  17. }