瀏覽代碼

扫码防抖处理

cc12458 1 月之前
父節點
當前提交
37b1d3005d
共有 2 個文件被更改,包括 5 次插入3 次删除
  1. 4 3
      src/core/hook/useScan.ts
  2. 1 0
      src/pages/StepPage.vue

+ 4 - 3
src/core/hook/useScan.ts

@@ -1,11 +1,12 @@
-import { tryOnBeforeMount, tryOnUnmounted } from '@vueuse/core';
+import { tryOnBeforeMount, tryOnUnmounted, useDebounceFn } from '@vueuse/core';
 import type { BridgeEventMap } from '../../../@types/bridge';
 
 export type ScanData = NonNullable<BridgeEventMap['scan']['detail']['data']>;
 
-export function useScan(callback: (data: ScanData) => void) {
+export function useScan(fn: (data: ScanData) => void) {
+  const callback = useDebounceFn(fn, 300)
   let onCleanup = () => {};
-  tryOnBeforeMount(() => {
+  tryOnBeforeMount(async () => {
     if (window.bridge) {
       onCleanup = window.bridge.addEventListener('scan', (event) => {
         event.stopPropagation();

+ 1 - 0
src/pages/StepPage.vue

@@ -25,6 +25,7 @@ watchEffect(() => {
       stepStore.$reset();
       step.value?.reset?.();
       files.value = []
+      scanValue.value = ''
     }
   });
 });